2017-08-18 45 views
1

我的SQL語句應該在日期列中添加5天,並將輸出重新格式化爲MM/DD/YYYY。SQL Server日期轉換不格式化輸出

計算工作正常,但格式不會改變,無論我使用什麼值。

日期列被定義爲varchar(128)(我在轉換語句中使用了datetimevarchar(128))。

我在做什麼錯?

SELECT 
    FSI_Date, DATEADD("d", +5, CONVERT(DATE, FSI_Date, 101)) AS NEWDAY, 
FROM 
    DB_test 

FSI_Date  NEWDAY 
--------------------------- 
12/12/2015  2015-12-17 

回答

3

SQL Server將轉換mm/dd/yyyy爲日期,所以,你只需要dateadd()再轉換回你想要的格式。

如果您想要自然日期,請刪除最終的convert(...,101)

Select FSI_Date 
     ,NewDay = convert(varchar(10),DateAdd(DAY,5,@FSI_Date),101) 
From DB_Test 

返回

FSI_Date   NewDay 
12/12/2015   12/17/2015