1

使用 TSQL,将数据类型字符串格式的日期“mmm-dd-yyyy”转换为数据类型日期格式“yyyy-mm-dd”的最有效方法是什么

例子:

原始日期:2013 年 1 月 31 日

转换日期:2013-01-31

我正在寻找本文档中的转换,但没有成功。http://msdn.microsoft.com/en-us/library/ms187928.aspx

4

3 回答 3

3

作为日期返回的最有效方式:

select convert(date, replace('Jan-31-2013', '-', ' '), 0)

最有效的方式返回为 char(10):

select convert(char(10),convert(date, replace('Jan-31-2013', '-', ' '), 0), 126)
于 2013-10-31T09:04:13.107 回答
1

这解决了您的问题,但不确定是否有更有效的解决方案?

declare @DateTime as varchar(max)
set @DateTime = 'Jan-31-2013';
select cast(substring(@DateTime,8,4) + '-' + substring(@DateTime,1,3) + '-' + substring(@DateTime,5,2) as date)


SQL 结果图像

于 2013-10-30T23:16:44.047 回答
1

将日期格式从 MM/DD/YY 更改为 MM/DD/YYY:

SELECT Substring(trans_date, 4, 2)+'-'+Substring(trans_date, 1, 2)+'-'+'20'+SUBSTRing(trans_date, 7, 2) ,* from TempTable 
于 2014-03-18T12:23:50.990 回答