ISDATE
列を検証するために呼び出される関数があることは知っていますが、それはとタイプDATETIME
に対してのみ機能します。SMALLDATETIME
DATETIME
DATETIME2
SQL Server 2008および2012で新しいデータ型を検証する同様の方法はありますか?
ISDATE
列を検証するために呼び出される関数があることは知っていますが、それはとタイプDATETIME
に対してのみ機能します。SMALLDATETIME
DATETIME
DATETIME2
SQL Server 2008および2012で新しいデータ型を検証する同様の方法はありますか?
SQL Server 2012 では、以下を使用できますTRY_CONVERT
。
SELECT TRY_CONVERT(DATETIME2, '2012-02-02 13:42:55.2323623'),
TRY_CONVERT(DATETIME2, '2012-02-31 13:42:55.2323623');
結果:
2012-02-02 13:42:55.2323623 NULL
またはTRY_PARSE
:
SELECT TRY_PARSE('2012-02-02 13:42:55.2323623' AS DATETIME2),
TRY_PARSE('2012-02-31 13:42:55.2323623' AS DATETIME2);
(同じ結果です。)
申し訳ありませんが、SQL Server 2012 未満の場合は、適切な回答が得られません。
SELECT ISDATE(LEFT('2012-02-02 13:42:55.2323623', 23));
でも汚い感じです。
TRY_CONVERT
Microsoft Docs
TRY_PARSE
のドキュメント Microsoft Docs のドキュメント