Sql server 将日期格式更改为YYYYMMDD
我的SQL Server Mgt Studio脚本中有此语句。日期输出为2015年12月28日12:00AM等。如何将其更改为20151228(YYYYMMDD格式)。请帮忙。多谢各位Sql server 将日期格式更改为YYYYMMDD,sql-server,tsql,date,Sql Server,Tsql,Date,我的SQL Server Mgt Studio脚本中有此语句。日期输出为2015年12月28日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|] 使用
+'|'+ Cast(dateadd(wk,DATEDIFF(Wk,7,GETDATE()),0) as varchar) AS [FIRSTDAY|],
+'|'+ CAST(DATEADD(wk,DATEDIFF(wk,7,GETDATE()),6)AS varchar) as [LASTTDAY|]
使用convert函数而不是cast。使用样式112 但是,您真的应该问问自己,SQL是否是执行此操作的正确位置。只要返回一个
DateTime
值并让客户端代码处理格式设置,您通常会得到更好的结果。请尝试此方法
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))
您自己有没有尝试过?您使用的是哪个版本的SQL Server?SQL Server 2012及更新版本有一个可供使用的格式:
格式(SYSDATETIME(),'yyyyMM')代码>
FORMAT(dateadd(wk,DATEDIFF(Wk,7,GETDATE()),0), 'yyyyMMdd')
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))