The Wayback Machine - http://web.archive.org/web/20140105222832/http://msdn.microsoft.com:80/zh-tw/library/ms187347(v=sql.90).aspx
匯出 (0) 列印
全部展開
Expand Minimize
本主題尚未接受評分 - 為這個主題評分

ISDATE (Transact-SQL)

判斷輸入運算式是否為有效的日期。

主題連結圖示 Transact-SQL 語法慣例


ISDATE ( expression )
expression

這是要作為日期來進行驗證的運算式。expression 是在 text、ntext 和 image 運算式之外,能夠隱含地轉換成 nvarchar 的任何運算式。

ms187347.note(zh-tw,SQL.90).gif附註:
如果 expression 是 varchar 類型,值會轉換成 nvarchar(4000)。如果傳送導致截斷的較大值,SQL Server 2005 會產生錯誤。

只有在搭配 CONVERT 函數使用,而且已指定 CONVERT 樣式參數,且樣式不等於 0、100、9 或 109 時,ISDATE 才具備決定性。

ISDATE 的傳回值可能會受到 LANGUAGE 和 DATEFORMAT 設定的影響。

如需 ISDATE 將傳回 1 的範本範例,請參閱<CAST and 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 資料表,且會插入兩個值。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                   
本文對您有任何幫助嗎?
(剩餘 1500 個字元)

社群新增項目

新增
顯示:
© 2014 Microsoft. 著作權所有,並保留一切權利。