首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MySQL中创建临时列

问在MySQL中创建临时列
EN

Stack Overflow用户
提问于 2011-09-05 23:58:29
回答 3查看 74关注 0票数 1

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

EN

回答 3

Stack Overflow用户

发布于 2011-09-06 00:02:21

您不需要临时列,只需选择:

代码语言:javascript
复制
SELECT YEAR(CUERRENT_DATE) - YEAR(birthday) AS age, otherColumns FROM xyz WHERE ...

如您所见,我使用As将表达式重命名为您的“临时列”。然后它将出现在您的结果集中。

票数 1
EN

Stack Overflow用户

发布于 2011-09-06 00:02:31

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

代码语言:javascript
复制
SELECT *, YEAR(CUERRENT_DATE) - YEAR(birthday) as age
FROM table
...

这就像一个临时列。

票数 1
EN

Stack Overflow用户

发布于 2011-09-06 00:06:19

我猜您不需要存储年龄-您可以从SQL检索出生日期,并在代码中计算年龄并打印出来。同样,您可以使用DB内置函数来获取当前日期-如果您想在SQL中这样做的话。

如果您使用的是MySQL。

代码语言:javascript
复制
SELECT (YEAR(CURDATE())-YEAR(birth)) AS age FROM TABLE_NAME;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7310349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档