我在SQL Server Mgt Studio脚本中有这个声明。日期输出为Dec 28 2015 12:00AM
等。如何将其更改为20151228
(YYYYMMDD
格式)。请帮忙。谢谢。
+'|'+ Cast(dateadd(wk,DATEDIFF(Wk,7,GETDATE()),0) as varchar) AS [FIRSTDAY|],
+'|'+ CAST(DATEADD(wk,DATEDIFF(wk,7,GETDATE()),6)AS varchar) as [LASTTDAY|]
答案 0 :(得分:3)
CONVERT(varchar(8), dateadd(wk,DATEDIFF(Wk,7,GETDATE()),0), 112)
FORMAT(dateadd(wk,DATEDIFF(Wk,7,GETDATE()),0), 'yyyyMMdd')
但你真的应该问自己,SQL是否是正确的做法。只需返回DateTime
值并让客户端代码处理格式化,您通常会获得更好的结果。
答案 1 :(得分:1)
使用convert函数而不是强制转换。使用样式112. https://msdn.microsoft.com/en-us/library/ms187928.aspx
答案 2 :(得分:0)
请试一试。
declare @dt nvarchar(50) = 'Dec 28 2015 12:00AM'
select convert(varchar(4),datepart(yy,@dt))+convert(varchar(2),datepart(mm,@dt))+convert(varchar(2),datepart(dd,@dt))