我已经在线阅读了我的书,但没有找到命令。这是问题的最后一部分。 “显示所有员工的当前年龄。”我的表和列是。
Table: Employee
Columns: Names(VARCHAR(20),null),
Address(VARCHAR(20),null),
Employee_Number(INT,null),
Salary(SMALLMONEY,null),
Birthdate(DATE,null),
Employment_Date(DATE,null).
我在网上找到的所有内容都是将一个或两个出生日期转换为年龄。是否有命令将多个出口日期中的输入转换为查询?
DECLARE @dob datetime
SET @dob= '1992-01-09 00:00:00"
我必须做吗
SELECT NAMES
DECLARE @dob date
SET @dob= 'yyyy-mm-dd'
像这样的东西,我认为我需要37行名称才能将出生日期转换为年龄。
非常感谢任何帮助,提前感谢您的帮助。
答案 0 :(得分:1)
您已将birthdate
列存储为date
。要计算年龄,您只需要它与现在之间的差异(可以通过内置函数getdate()
返回:
SELECT name, DATEDIFF(year, GETDATE(), birthdate) AS age
FROM employee