在MySQL中创建临时列

时间:2011-09-05 15:58:29

标签: mysql sql

在我的数据库(MySQL)中,有一个字段可以保存生日。当我检索我要打印的记录时,就像这样age = (YEAR(CUERRENT_DATE) - YEAR(birthday))。但是在我的数据库中没有名为age的列。所以我只想做,创建临时列并保持年龄,当我检索记录时,我也可以打印年龄。有没有办法做到这一点?我该如何编写查询?我是SQL的新手。请帮帮我。

3 个答案:

答案 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;