How to create a Date in SQL Server given the Day, Month and Year as Integers

后端 未结 7 784
误落风尘
误落风尘 2020-12-05 12:22

FOR Example if I have:

DECLARE @Day int = 25
DECLARE @Month int  = 10 
DECLARE @Year int = 2016

I want to return

2016-10-2         


        
7条回答
  •  悲&欢浪女
    2020-12-05 13:13

    So, you can try this solution:

    DECLARE @DAY INT = 25
    DECLARE @MONTH INT  = 10 
    DECLARE @YEAR INT = 2016
    DECLARE @DATE AS DATETIME
    
    SET @DATE = CAST(RTRIM(@YEAR * 10000 + @MONTH * 100 + @DAY) AS DATETIME) 
    
    SELECT REPLACE(CONVERT(VARCHAR(10), @DATE, 102), '.', '-') AS EXPECTDATE
    

    Or you can try this a few lines of code:

    DECLARE @DAY INT = 25
    DECLARE @MONTH INT  = 10 
    DECLARE @YEAR INT = 2016
    
    SELECT CAST(RTRIM(@YEAR * 10000 +'-' +  @MONTH * 100+ '-' + @DAY) AS DATE) AS EXPECTDATE
    

提交回复
热议问题