在我的数据库(MySQL)中,有一个保存生日的字段。当我检索记录时,我想打印那里的年龄,像这样的age = (YEAR(CUERRENT_DATE) - YEAR(birthday))。但在我的数据库中没有名为age的列。所以我只想这样做,创建临时列并保存年龄,当我检索记录时,我还可以打印年龄。有没有办法做到这一点?如何编写查询?我是SQL的新手。请帮帮我。
发布于 2011-09-06 00:02:21
您不需要临时列,只需选择:
SELECT YEAR(CUERRENT_DATE) - YEAR(birthday) AS age, otherColumns FROM xyz WHERE ...如您所见,我使用As将表达式重命名为您的“临时列”。然后它将出现在您的结果集中。
发布于 2011-09-06 00:02:31
您可以直接在SELECT中计算年龄,并返回它,就像它是一个列一样:
SELECT *, YEAR(CUERRENT_DATE) - YEAR(birthday) as age
FROM table
...这就像一个临时列。
发布于 2011-09-06 00:06:19
我猜您不需要存储年龄-您可以从SQL检索出生日期,并在代码中计算年龄并打印出来。同样,您可以使用DB内置函数来获取当前日期-如果您想在SQL中这样做的话。
如果您使用的是MySQL。
SELECT (YEAR(CURDATE())-YEAR(birth)) AS age FROM TABLE_NAME;https://stackoverflow.com/questions/7310349
复制相似问题