SQL Server日期转换不是格式化输出

时间:2017-08-18 22:29:09

标签: sql sql-server tsql datetime type-conversion

我的SQL语句应该在日期列中添加5天,并将输出重新格式化为MM / DD / YYYY。

计算正在进行,但无论我使用什么价值,格式都不会改变。

日期列定义为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

1 个答案:

答案 0 :(得分: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