Sql 如何从年龄号码中获取出生日期

Sql 如何从年龄号码中获取出生日期,sql,sql-server,tsql,Sql,Sql Server,Tsql,使用: 使用: 两个DATEADDs就足够了: SET @YEARS=CONVERT(BIGINT,SUBSTRING( @INPUT,1,3)) SET @MONTHS=CONVERT(BIGINT,SUBSTRING( @INPUT,CHARINDEX ('M', @INPUT,1)-2,2)) SET @DAYS=CONVERT(BIGINT,SUBSTRING( @INPUT,CHARINDEX ('D', @INPUT,1)-2,2)) SET @DATE_OF_BIRTH=DA

使用:

使用:


两个
DATEADD
s就足够了:

SET @YEARS=CONVERT(BIGINT,SUBSTRING( @INPUT,1,3))

SET @MONTHS=CONVERT(BIGINT,SUBSTRING( @INPUT,CHARINDEX ('M', @INPUT,1)-2,2))

SET @DAYS=CONVERT(BIGINT,SUBSTRING( @INPUT,CHARINDEX ('D', @INPUT,1)-2,2))

SET @DATE_OF_BIRTH=DATEADD(year, -@Years,
DATEADD(month, -@Months,DATEADD(day, -@Days, getDate())))
SELECT Convert(nvarchar(12),@DATE_OF_BIRTH,105)

两个
DATEADD
s就足够了:

SET @YEARS=CONVERT(BIGINT,SUBSTRING( @INPUT,1,3))

SET @MONTHS=CONVERT(BIGINT,SUBSTRING( @INPUT,CHARINDEX ('M', @INPUT,1)-2,2))

SET @DAYS=CONVERT(BIGINT,SUBSTRING( @INPUT,CHARINDEX ('D', @INPUT,1)-2,2))

SET @DATE_OF_BIRTH=DATEADD(year, -@Years,
DATEADD(month, -@Months,DATEADD(day, -@Days, getDate())))
SELECT Convert(nvarchar(12),@DATE_OF_BIRTH,105)

我想要上面输入参数的确切日期。请帮助我,为什么你把它标记为MySQL?我想要上面输入参数的确切日期。请帮助我,为什么你把它标记为MySQL?
SET @YEARS=CONVERT(BIGINT,SUBSTRING( @INPUT,1,3))

SET @MONTHS=CONVERT(BIGINT,SUBSTRING( @INPUT,CHARINDEX ('M', @INPUT,1)-2,2))

SET @DAYS=CONVERT(BIGINT,SUBSTRING( @INPUT,CHARINDEX ('D', @INPUT,1)-2,2))

SET @DATE_OF_BIRTH=DATEADD(year, -@Years,
DATEADD(month, -@Months,DATEADD(day, -@Days, getDate())))
SELECT Convert(nvarchar(12),@DATE_OF_BIRTH,105)
DECLARE @DATE_OF_BIRTH date 
    = DATEADD(year, -@Years, DATEADD(month, -@Months, GETDATE()))-@days