sql server出生年月减去退休年月 计算年龄

--在 SQL Server 2005 中测试通过
--@IDNUMSTR 表示身份证号
DECLARE @IDNUMSTR CHAR(18);
SELECT @IDNUMSTR = '410305196601071522';

--如果是18位号码
IF LEN(LTRIM(RTRIM(@IDNUMSTR))) = 18
    SELECT DATEDIFF(YEAR,CAST(SUBSTRING(@IDNUMSTR, 7, 8) AS DATETIME),GETDATE());

--如果是15位号码
ELSE
    SELECT DATEDIFF(YEAR,CAST(SUBSTRING(@IDNUMSTR, 7, 6) AS DATETIME),GETDATE());

 

SELECT     DATEDIFF(year, SUBSTRING(user_sfzh, 7, 8), GETDATE()) AS table1
FROM         user_info

你可能感兴趣的:(sql server出生年月减去退休年月 计算年龄)