在我的数据库(MySQL)中,有一个字段可以保存生日。当我检索我要打印的记录时,就像这样age = (YEAR(CUERRENT_DATE) - YEAR(birthday))
。但是在我的数据库中没有名为age的列。所以我只想做,创建临时列并保持年龄,当我检索记录时,我也可以打印年龄。有没有办法做到这一点?我该如何编写查询?我是SQL的新手。请帮帮我。
答案 0 :(得分:1)
您不需要临时列,只需选择:
SELECT YEAR(CUERRENT_DATE) - YEAR(birthday) AS age, otherColumns FROM xyz WHERE ...
如您所见,我使用AS将表达式重命名为“临时列”。然后它将出现在您的结果集中。
答案 1 :(得分:1)
您可以直接在SELECT中计算年龄,并将其返回,如果它是一列:
SELECT *, YEAR(CUERRENT_DATE) - YEAR(birthday) as age
FROM table
...
这就像一个临时专栏。
答案 2 :(得分:1)
我猜你不需要存储年龄 - 你从SQL中检索出生日期并计算代码和打印的年龄。您也可以使用DB内置函数来获取当前日期 - 如果您想在SQL中执行此操作。
如果您使用的是MySQL。
SELECT (YEAR(CURDATE())-YEAR(birth)) AS age FROM TABLE_NAME;