我的SQL语句应该在日期列中添加5天,并将输出重新格式化为MM / DD / YYYY。
计算正在进行,但无论我使用什么价值,格式都不会改变。
日期列定义为varchar(128)
(我在转换语句中使用过datetime
和varchar(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
答案 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