私はdatetime
とSQL Serverを使っています。mmm d yyyy HH:MM [AM]をSQLのdatetimeに変換するには?
私は入力します(例)Aug 4 2011 12:00AM
私はdatetime
(またはsmalldatetime
)にこれを変換するにはどうすればよいです。
convert(datetime, 'Aug 4 2011 12:00AM')
編集:それは
おかげで動作します。
私はdatetime
とSQL Serverを使っています。mmm d yyyy HH:MM [AM]をSQLのdatetimeに変換するには?
私は入力します(例)Aug 4 2011 12:00AM
私はdatetime
(またはsmalldatetime
)にこれを変換するにはどうすればよいです。
convert(datetime, 'Aug 4 2011 12:00AM')
編集:それは
おかげで動作します。
この完全なドキュメント ため、このリンクは、何が起こっている2008年
select convert(datetime, 'Aug 4 2011 12:00AM') as ConvertResult
ConvertResult
-------------
2011-08-04 00:00:00.000
は必ずしも信頼できない、しかし、暗黙の型変換であるSQL Server上で私のため作業を行います。日付形式の書式指定子は100
で、CAST and CONVERT docsの表にあります。これを試してください:
select convert(datetime, 'Aug 4 2011 12:00AM', 100) as ConvertResult
ConvertResult
-------------
2011-08-04 00:00:00.000
ハッハッハーなことをすべて入力する前に、それがうまく機能しているかどうかをチェックしておくべきだった。 –
この方法で試しましたか?
convert(datetime, 'Aug 4 2011 12:00AM', 120)
120は、スタイルの書式設定用です。
もこの作品です! –
嬉しい:) Ty。 –
(警告:テストされていませんが、これらのラインに沿ったものが動作するはずです)注意点として、これは、他の方法でうまくいかない場合はブルートフォース方式です。
declare @datestring varchar(30);
set @datestring = 'Aug 4 2011 12:04AM';
select convert(datetime,
substring(@datestring, 8,4) + '-' +
case lower(left(@datestring, 3))
when 'jan' then '01'
when 'feb' then '02'
when 'mar' then '03'
when 'apr' then '04'
when 'may' then '05'
when 'jun' then '06'
when 'jul' then '07'
when 'aug' then '08'
when 'sep' then '09'
when 'oct' then '10'
when 'nov' then '11'
when 'dec' then '12'
end + '-' +
right('00' + ltrim(rtrim(substring(@datestring, 5, 2))), 2) + ' ' +
substring(@datestring, 13,50)
) as Converted;
+1は私を助けようとしています!ありがとう –
ここからその日付を取得していますか? –
システムによってnvarcharフィールドに読み込まれます。私は1つのテーブルからそれをつかみ、それを別のテーブルで使用する必要があります。そこに置くプロセスは外部的なものであり、通常のフォーマットにするためにそれを変更する方法もなく、私はそれを得るテーブルを触れることもできません。 SIGH –
何が問題なのですか?私はあなたの行を試してみましたが、SQL Server 2005 SP2では何のエラーも出ません。 – bhamby