2011-09-05 72 views
1

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

回答

1

你并不需要一个临时列,只需选择:

SELECT YEAR(CUERRENT_DATE) - YEAR(birthday) AS age, otherColumns FROM xyz WHERE ... 

正如你看到的,我作为重新命名表达你的“临时列”。它会出现在你的结果集中。

+0

谢谢..............! –

1

您可以直接计算年龄在SELECT,并返回它一样,如果它是一个列:

SELECT *, YEAR(CUERRENT_DATE) - YEAR(birthday) as age 
FROM table 
... 

这就像一个临时列。

+0

谢谢..............! –

1

我想你不需要存储年龄 - 你从SQL中检索出生日期并计算代码和打印年龄。除此之外,您可以使用数据库内置函数获取当前日期 - 如果您想在SQL中执行此操作。

如果您使用MySQL。

SELECT (YEAR(CURDATE())-YEAR(birth)) AS age FROM TABLE_NAME; 
+0

谢谢..............! –