varchar が20130909132512
あり、それを単なる日付に変換したい2013-09-09
しようとするとエラーが発生し続ける
select convert(datetime,'20130909132512',105)
そして私は使用を避けようとしています
select convert(datetime,SUBSTRING('20130909132512',0,8),105)
もし可能なら。どうすればこれを行うことができるかについてのアイデアはありますか?
varchar が20130909132512
あり、それを単なる日付に変換したい2013-09-09
しようとするとエラーが発生し続ける
select convert(datetime,'20130909132512',105)
そして私は使用を避けようとしています
select convert(datetime,SUBSTRING('20130909132512',0,8),105)
もし可能なら。どうすればこれを行うことができるかについてのアイデアはありますか?
STUFFを使用して varchar を20130909 13:25:12に変換できます
Declare @a Varchar(20)
Select @a = '20130909132512'
select convert(datetime,
STUFF(STUFF(STUFF(@a,13,0,':'),11,0,':'),9,0,' ')
,105)
bummi のSTUFF
方法を使用するか、引き続きSUBSTRING
.
この場合、SUBSTRING
少し速く実行されます
SELECT CONVERT(date, SUBSTRING('20130909132512', 0, 9), 20)
ただし、2013-09-09 の形式の日付が必要な場合は、変換スタイルとして「20」を使用することをお勧めします。