日付文字列がSQL ServerのMM/DD/YYYY形式であるかどうかを確認するにはどうすればよいですか?SQL Serverの日付形式MM/DD/YYYY
答えて
SET DATEFORMAT MDY;
SELECT CASE WHEN ISDATE(@string) = 1
AND @string LIKE '[0-1][0-9]/[0-3][0-9]/[1-2][0-9][0-9][0-9]'
THEN 1 ELSE 0 END;
結果が1の場合、有効な日付ですが、ユーザーが意図した日付であるという保証はありません。彼らは入力した場合:
06/07/2012
を、彼らは6月7日または7月6日を意味している場合あなたの最善の策は、あなたが形式を制御することを可能にする、ユーザーがドロップダウンまたはカレンダーコントロールから日付を選ぶようにすることです知る方法はありません不必要な解釈を避けてください。アプリケーション層では、厳密に型指定された変数/パラメータを使用して、適切に型付けされた列に挿入できます。
あなたはそれがMDYだかどうかを確認するために、SQL ServerのDATEFORMAT後にしている場合は、使用します。
dbcc useroptions
、あなたが外でそれをしなければならないDATEFORMAT SETオプション
+1 - あなたはそれを変更する方法を知っていますか? –
を見てデータベース。データベースは内部的にdatetimeを独自の形式で格納します。私はあなたが日付が格納されている形式を読むことができるとは思わない。あなたはそれがあなたの好きな方法で、例えばdd/mm/yyyyやyyyy/mm/ddなど読むことができる。
これをチェックする任意の日付フィールドのデータベース外の値。そのために正規表現を使用することができます。しかし、それはデータベースの外にあります。
あなたが他の、検証する必要はありません2012
09/08/2012
9月8日のような出力がされますCONVERT function
select convert(varchar(10),getdate(),101)
を使用して、この形式MM/DD/YYYYで日付ストリングを日付に変換日付フィールドをチェックするのがNULLであるかどうかを確認してください。
- 1. awakeのMMDDYYYY日付形式コンパイル
- 2. SQL Server 2008 R2の日付形式
- 3. SQL Serverで日付形式が必要
- 4. ファイルの日付形式をDDMMMYYYYからMMDDYYYYに変更する
- 5. HTML cfgridまたはSQL日付形式の日付形式
- 6. SQL Serverの日付特定の形式から別の正確な日付形式への変換
- 7. SQL Serverの日付の形式インドから米国
- 8. VBSを使用したSQL Serverの日付形式の変換
- 9. VB.NET異なる形式の日付を挿入するSQL Server
- 10. SQL Server - TSQLの日付形式を変換する
- 11. SQL Serverの - D-MMM-YYYY形式に日付を変換
- 12. SQL Server 2005の日付形式を変更する
- 13. SQL Server固有の日付形式DD MM YYYY
- 14. SSISをSQL Serverに使用する日付形式の問題
- 15. SQL Serverの日付形式を確認する方法
- 16. SQL Serverの日付形式が一致しません
- 17. Windows 7/.NET/SQL Serverで日付形式を設定する
- 18. 文字列のSQL Server日付書式
- 19. SQLからExcelの日付形式
- 20. MS SQLの日付形式ですか?
- 21. 日付形式
- 22. 日付形式
- 23. 形式コードの日付またはSQLサーバーの日付
- 24. データウェーブアプリケーション/ xmlでmmddyyyyを日付書式に変換する方法
- 25. mmddyyyy書式で書かれていない日付列をR
- 26. MySQL - 日付形式
- 27. PHP MYSQLの日付形式
- 28. 今日の日付形式
- 29. CSVの日付形式をMySQLの日付形式
- 30. VBAのテキスト形式から日付形式への日付
+1 - 日付/時刻は絶対に**文字列型として保存するのではなく、適切な型として保存するべきです。データベースが何を使用しているのか把握しようとしているなら、何か問題があるかもしれません。 –
@ X-Zeroありがとうございました。 –