2011-07-22 8 views
2

010910の文字列がddMMyyになっています。この文字列には、2010-09-01 00:00:00.000のようなSQL Serverのdatetimeデータ型をキャストする必要があります。SQL Serverの文字列をdatetimeにキャストする

どうすればいいですか?

+3

Googleの "日時にSQL Serverのキャスト文字列" を見てみましょう。最初のヒットはあなたが必要とする答えです。 – Pondlife

+1

@Pondlife - 私が働いているフォーマットのオプションの回答はないと思います。 –

+0

これは間違いありませんが、サポートされているフォーマットを知っていれば、自分のフォーマットをサポートされているフォーマットに変換するだけです。 – Pondlife

答えて

2
SELECT CAST(right(s, 2) + left(s,4) as datetime) 
FROM (SELECT '010910' s) a 
+0

素晴らしい作品です。ありがとう。 –

1

SUBSTRINGを使用してビットを引き出し、連結して戻します。

5

どう

DECLARE @String VARCHAR(6) 
SELECT @String = '010910' 

SELECT CONVERT(DATETIME,LEFT(@String,2) + '/' + SUBSTRING(@String, 3, 2) + '/' + RIGHT(@String,2),3) 

のようなものについては、SQL Server Date FormatsCAST and CONVERT (Transact-SQL)

+0

あなたの作品は完璧ですが、私はt-clausen.dkの答えがより正確で短いと思います。 –