Share via


ISDATE (Transact-SQL)

入力式が有効な日付かどうかを調べます。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

ISDATE ( expression )

引数

  • expression
    日付として検証されるです。expression は、textntext、および image 式を除く任意の式で、暗黙的に nvarchar に変換できます。

    ms187347.note(ja-jp,SQL.90).gifメモ :
    expressionvarchar 型の場合、値は nvarchar(4000) 型に変換されます。切り捨ての対象となる大きな値が渡された場合、SQL Server 2005 ではエラーが生成されます。

戻り値の型

int

解説

ISDATE は、CONVERT 関数と共に使用され、CONVERT スタイル パラメータが指定されており、スタイルが 0、100、9、または 109 と等しくない場合にのみ決定的関数になります。

ISDATE の戻り値は、LANGUAGE および DATEFORMAT の設定にも影響されます。

ISDATE が 1 を返すテンプレート例については、「CAST および CONVERT」の「引数」にある「入力/出力」の列を参照してください。

入力式が有効な日付の場合、ISDATE は 1 を返します。それ以外の場合は 0 を返します。次の表に、いくつかの例と戻り値を示します。

列 (varchar) の値 ISDATE 戻り値

NULL

0

Abc

0

100、-100、100 a、または 100.00

0

.01

0

-100.1234e-123

0

.231e90

0

$100.12345、- $100.12345、または $-1000.123

0

as100 または 1a00

0

1995-10-1、1/20/95、1995-10-1 12:00pm、Feb 7 1995 11:00pm、1995-10-1、または 1/23/95

1

13/43/3425 または 1995-10-1a

0

$1000、$100、または $100 a

0

A. ISDATE を使用して変数を調べる

次の例では、@datestring ローカル変数が有効な日付データかどうかを調べます。

DECLARE @datestring varchar(8)
SET @datestring = '12/21/98'
SELECT ISDATE(@datestring)

以下に結果セットを示します。

----------- 
1           

B. ISDATE を使用して列が日付かどうかを調べる

次の例では、test_dates テーブルを作成し、2 つの値を挿入します。ISDATE を使用して、列内の値が日付かどうかを調べます。

USE tempdb
CREATE TABLE test_dates (Col_1 varchar(15), Col_2 datetime)
GO
INSERT INTO test_dates VALUES ('abc', 'July 13, 1998')
GO
SELECT ISDATE(Col_1) AS Col_1, ISDATE(Col_2) AS Col_2 
   FROM test_dates

以下に結果セットを示します。

Col_1                     Col_2               
-----------------         --------------------
0                         1                   

参照

関連項目

SET DATEFORMAT (Transact-SQL)
SET LANGUAGE (Transact-SQL)
char および varchar (Transact-SQL)
システム関数 (Transact-SQL)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手