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