89

T-SQLで文字列を日付に変換するにはどうすればよいですか?

私のテストケースは文字列です:'24.04.2012'

4

6 に答える 6

139
CONVERT(datetime, '24.04.2012', 104)

トリックを行う必要があります。詳細については、こちらを参照してください: CAST および CONVERT (Transact-SQL)

于 2012-04-24T19:15:55.990 に答える
26

Microsoft SQL 日付形式

CONVERT(DateTime, DateField, 104)
于 2012-04-24T19:05:12.333 に答える
9

CONVERT は機能しますが、実際には使用しないでください。SQL-Server で文字列値を解析する理由を自問する必要があります。これが手動で一部のデータを修正する 1 回限りのジョブであり、そのデータを別の機会には取得できない場合、これは問題ありませんが、アプリケーションがこれを使用している場合は、何かを変更する必要があります。最善の方法は、「日付」データ型を使用することです。これがユーザー入力である場合、これはさらに悪いことです。次に、最初にクライアントでいくつかのチェックを行う必要があります。SQL-Server が日付を期待する場所に文字列値を渡したい場合は、いつでも ISO 形式 ('YYYYMMDD') を使用でき、自動的に変換されます。

于 2012-09-19T17:18:03.867 に答える
5

次を使用できます。

SELECT CONVERT(datetime, '24.04.2012', 103) AS Date

参照: CASTおよびCONVERT(Transact-SQL)

于 2012-04-24T19:18:23.680 に答える