如何将@lastEndTime转换为格式为YYYY-MM-DD HH:MM:SS.MS
的字符串?
DECLARE @lastEndTime datetime
答案 0 :(得分:3)
非常可怕的是,要获得精确的格式,您必须使用datepart功能并进行构建。
select datepart(yyyy, @lastEndTime) + '-' + datepart(mm, @lastEndTime) + '-' + datepart(dd, @lastEndTime) +' ' + datepart(hh, @lastEndTime) + ':' + datepart(mm, @lastEndTime) + ':' + datepart(ss, @lastEndTime) + '.' + datepart(ms,@lastEndTime)
您可以将其定义为function,以方便使用。
编辑 - 正如有人指出的那样,这种格式恰好是标准 - ODBC规范所以
CONVERT(CHAR(23), @lastEndTime, 121)
应该这样做。
答案 1 :(得分:3)
查看CAST and CONVERT的MSDN联机丛书文档 - 它包含可与CONVERT一起使用的所有受支持的内置日期格式的完整列表。
E.g。
CONVERT(VARCHAR(50), GETDATE(), 100)
会将今天的日期和时间转换为mon dd yyyy hh:miAM (or PM)
格式的字符串。
如果您的字符串与这些格式中的任何一种都不匹配,那么您必须
DATEPART
函数提取DATETIME的部分内容并手动将它们连接起来答案 2 :(得分:2)
CONVERT(nvarchar, @lastEndTime, 121)
答案 3 :(得分:1)
DECLARE @lastEndTime datetime 设置@lastEndTime = getdate()
选择convert(varchar,@ lastEndTime,121)