SQL使用DateDiff查找年龄

Sic*_*ies -1 sql sql-server datediff


Fields        || Data

ID            || V465

DOB           || 1946-09-05

DATE_OF_DEATH || 1974-05-11
Run Code Online (Sandbox Code Playgroud)

我正在使用此SQL,但我收到一个错误.

select DATEDIFF("YYYY",'DOB','DATE_OF_DEATH') where ID= 'V465'
Run Code Online (Sandbox Code Playgroud)

它的SQL SERVER Management Studio R2和

错误:消息207,级别16,状态1,行2无效的列名称"ID"

D S*_*ley 5

您忘记了FROM(并用单引号将列名称包围起来,将它们视为字符串文字):

select DATEDIFF("YYYY",DOB,DATE_OF_DEATH) 
FROM {tablename}
where ID= 'V465'
Run Code Online (Sandbox Code Playgroud)

DATEDIFF从那以后,独自不是确定"年龄"的正确方法

DATEDIFF("yyyy",'2001-12-01','2003-01-31')

会给你2而不是1.

见一个方法在这里和其他在这里