答えて
CONVERT(datetime, '24.04.2012', 104)
は、トリックを行う必要があります。詳細はこちらをご覧ください:"CAST and CONVERT (Transact-SQL)"
CONVERT(DateTime, DateField, 104)
'24-04-
はまた、これらのマイクロソフトMSDNの参照を参照してください。 2012年はない'MM-dd-yyyy'を期待するので、有効な日付として認識されます。 – Khan
' CONVERT(DateTime、DateField、104) 'についてどうですか?これは、dd.mm.yyyy形式を使用するようにSQL Serverを指示する必要があります... – therealmitchconnors
はい、私はあまりにもありがとう! –
あなたが使用することができます。
SELECT CONVERT(datetime, '24.04.2012', 103) AS Date
をCONVERTの事は動作しますが、あなたが実際にそれを使用するべきではありません。なぜSQL Serverで文字列値を解析しているのか自分に尋ねるべきです。これは、手動でいくつかのデータを修復するワンタイムジョブの場合、もう一度そのデータを取得することはできませんが、これは問題ありませんが、アプリケーションがこれを使用している場合は、何かを変更する必要があります。最も良い方法は、 "日付"データ型を使用することです。これがユーザーの入力であれば、これはもっと悪いことです。次に、クライアントでまずチェックを行う必要があります。 SQL Serverに日付が必要な場所に文字列値を渡したい場合は、常にISO形式( 'YYYYMMDD')を使用できます。自動的に変換する必要があります。
外部システムからデータファイルをインポートする場合、入力列はこれらの形式のいずれかになります。"05/31/2013"ですが、文字列として入力されますか?そして、あなたは、そのデータをインポートするためのストアドプロシージャやSSISをインポートするためのストアドプロシージャを作成していますか? CONVERTは適切なものになりますか? –
MS SQL Serverのホスト分析データモデルでは、トランザクションとは対照的に、CONVERTを使用するのはまったく問題ありません。なぜなら、日付としてすぐに入力できないような外部ソースを処理する必要があるからです(David Barrowsが上で述べたように)。 – Will
日付のデフォルトの文字列リテラル形式は[YYYY-MM-DD]です(https://docs.microsoft.com/en-us/sql/t-sql/data-types/date-transact-sql) –
ここではうまくいくソリューションです。基本的な文は、インラインしようと-解析が含まれています
SELECT TRY_PARSE('02/04/2016 10:52:00' AS datetime USING 'en-US') AS Result;
は、ここでは、製品版で実装何:
UPDATE dbo.StagingInputReview
SET ReviewedOn =
ISNULL(TRY_PARSE(RTrim(LTrim(ReviewedOnText)) AS datetime USING 'en-US'), getdate()),
ModifiedOn = (getdate()), ModifiedBy = (suser_sname())
-- Check for empty/null/'NULL' text
WHERE not ReviewedOnText is null
AND RTrim(LTrim(ReviewedOnText))<>''
AND Replace(RTrim(LTrim(ReviewedOnText)),'''','') <> 'NULL';
ModifiedOn及びModifiedBy列は内部データベース追跡の目的のためだけです。
これを使用しますプロダクションコードで。 – MAbraham1
CONVERT(DateTime, ExpireDate, 121) AS ExpireDate
必要なものでしょう、結果:
2012-04-24 00:00:00.000
- 1. 文字列からintへの変換
- 2. 文字列からUnicodeへの変換
- 3. 文字列からラムダへの変換
- 4. Java:inetaddressから文字列への変換
- 5. 文字列からバイトへの変換
- 6. バイトから文字列への変換
- 7. findall/finditerから変数または文字列への変換
- 8. Swift3配列は "{\" type \ ":\" 0 \ "}のように文字列に変換されます。
- 9. 文字列変換への配列Codeignater_3
- 10. 文字列変換への配列
- 11. TSQL - 文字列をyyyy/dayの日付に変換する
- 12. 文字列変換の配列からデータベースへの置換
- 13. 日時変換のjava文字列への変換の問題
- 14. 文字列から文字列への変換Struts 2での変換は機能しませんか?
- 15. 文字列配列から文字列への変換Swift
- 16. ログイン中の文字列への変換
- 17. 日付の文字列への変換
- 18. ログインシステム。 StreamReaderの文字列への変換
- 19. TSQLのPascalCase文字列を "フレンドリネーム"に変換
- 20. DateTimeオブジェクトを文字列に変換すると変換されますか?
- 21. C++、文字列から文字配列への変換
- 22. spring mvc form bean文字列から文字列への変換
- 23. 16進文字列から16進文字列への変換
- 24. TSQLからMS-Access SQLへの変換
- 25. ダイナミックTSQLからPSQLへの変換SDK?
- 26. PHP - DatePicker/SQLへの文字列変換
- 27. ダブルエスケープ文字列への変換
- 28. 変換文字列をutf-8に変換するにはどうすればよいですか? (Swift、Alamofire)
- 29. 文字列に変換されたクラスプロパティオブジェクト
- 30. "変換された"オブジェクト文字列をJSONまたはObjectに変換する
問題ありません。 TSQLはこのエラーを示します:キーワード 'CONVERT'の近くの構文が正しくありません。 – pordi
CONVERTとparenの間のスペースを削除します。CONVERT(datetime、'24 .04.2012 '、104) – MAbraham1
リンクされたドキュメントで説明したように、' 104 'は入力文字列のフォーマットを示します。 – DCShannon