TSQLを使用して、データ型の文字列形式の日付「mmm-dd-yyyy」をデータ型の日付形式「yyyy-mm-dd」に変換する最も効率的な方法は何ですか?
例:
元の日付: 2013 年 1 月 31 日
換算日:2013-01-31
このドキュメントで変換を探していましたが、成功しませんでした。http://msdn.microsoft.com/en-us/library/ms187928.aspx
TSQLを使用して、データ型の文字列形式の日付「mmm-dd-yyyy」をデータ型の日付形式「yyyy-mm-dd」に変換する最も効率的な方法は何ですか?
例:
元の日付: 2013 年 1 月 31 日
換算日:2013-01-31
このドキュメントで変換を探していましたが、成功しませんでした。http://msdn.microsoft.com/en-us/library/ms187928.aspx
日付として返される最も効果的な方法:
select convert(date, replace('Jan-31-2013', '-', ' '), 0)
char(10) として返される最も効果的な方法:
select convert(char(10),convert(date, replace('Jan-31-2013', '-', ' '), 0), 126)
日付形式を 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
これで問題は解決しますが、もっと効率的な解決策があるかどうかわかりませんか?
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)