多个转换

时间:2014-02-17 23:13:05

标签: sql sql-server tsql date datetime

我已经在线阅读了我的书,但没有找到命令。这是问题的最后一部分。 “显示所有员工的当前年龄。”我的表和列是。

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行名称才能将出生日期转换为年龄。

非常感谢任何帮助,提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您已将birthdate列存储为date。要计算年龄,您只需要它与现在之间的差异(可以通过内置函数getdate()返回:

SELECT name, DATEDIFF(year, GETDATE(), birthdate) AS age
FROM   employee