gpt4 book ai didi

mysql - 更新 MySQL 中的年龄列

转载 作者:行者123 更新时间:2023-11-29 05:37:03 24 4
gpt4 key购买 nike

我有一个用户表,其中包含用户的生日 (YYYY-MM-DD) 以及年龄。我想运行一个脚本来计算通过 cron 每晚更新年龄列。

此 SQL 适用于选择和计算年龄:

SELECT 
DATE_FORMAT(NOW(), '%Y') -
DATE_FORMAT(`birthday`, '%Y') -
(DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT(`birthday`, '00-%m-%d')) AS age
FROM
`jos_jcourse_students`

但是是否可以用一条语句更新年龄列?尝试了以下方法,但我所做的只是用全 0 填充年龄列!我需要使用某种 MySQL 循环吗?

UPDATE 
`jos_jcourse_students`
SET
age = "SELECT DATE_FORMAT(NOW(), '%Y') -
DATE_FORMAT(`birthday`, '%Y') -
(DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT(`birthday`, '00-%m-%d')) AS age
FROM
`jos_jcourse_students`"

最佳答案

UPDATE `jos_jcourse_students` 
SET age = DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS(birthday)), '%Y')+0

或者按照你的逻辑会是

UPDATE `jos_jcourse_students` 
SET age =((DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(`birthday`, '%Y')) -
(DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT(`birthday`, '00-%m-%d')))

关于mysql - 更新 MySQL 中的年龄列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9799543/

24 4 0
文章推荐: php - 为什么sql查询不执行?
文章推荐: php - 从数据库动态填充