将sql中的日期/时间转换为字符串

时间:2011-10-10 16:55:09

标签: tsql datetime varchar

有没有办法可以转换这个的DateTime SQL值:

2011-10-11 00:00:00.000

到一个格式完全相同的字符串?

'2011-10-11 00:00:00.000'

我尝试过cast(fl_from_dt as varchar(50),但它将其转换为可读的内容 - ex。 'Oct 11 2011 12:00AM'

2 个答案:

答案 0 :(得分:4)

您使用的是SqlServer吗?

在此处查看style的{​​{1}}参数:http://msdn.microsoft.com/en-us/library/ms187928.aspx - 特别是查看 ODBC规范(毫秒)格式。

简而言之,您应该在CONVERT()命令中使用style 121。

  

风格:121

     

ODBC规范(毫秒)默认为time,date,datetime2和datetimeoffset

      yyyy-mm-dd hh:mi:ss.mmm(24h)

答案 1 :(得分:0)

试试这个!

select  CONVERT(VARCHAR(10), GETDATE(), 112) 
+ right('0'+cast(datepart(hh, GETDATE()) as varchar(2)),2)
+ right('0'+cast(datepart(mi, GETDATE()) as varchar(2)),2)
+ right('0'+cast(datepart(ss, GETDATE()) as varchar(2)),2) as 'DateTime_STR2'