SQL - ISDATE ISNULL ISNUMERIC

摘要:SQL - ISDATE ISNULL ISNUMERIC

ISDATE、ISNULL 與 ISNUMERIC 這三個小弟想大家應該並不陌生,相信一定都用過,但當危機存亡時,您還記得它們嘛!? 坦白說,小弟就忘了另外兩個的存在,為什麼這樣說呢!? 今晚同事問我,有沒有甚麼函式,是可以判斷欄位中的資料哪些是 int 哪些不是 int !? 當下我就忘了 ISNUMERIC,真是尷尬啊,所以特別寫一篇記錄文,來記錄這三兄弟,以免我又忘了他們...

資料庫資料:


ISDATE:如果 expression 是有效的 date、time 或 datetime 值,則傳回 1,否則傳回 0。

Code:

Select 郵遞區號, ISDATE(郵遞區號) as '郵遞區號非日期格式',
建立時間, ISDATE(建立時間) as '建立時間為日期格式'
From dbo.郵遞區號資料

結果:


ISNULL:以指定的取代值來取代 NULL

對資料庫再新增一筆資料

Insert into dbo.郵遞區號資料
Values(NEWID(), '特別行政區', NULL, GETDATE())

Code:

Select 地區, ISNULL(郵遞區號, 'N/A')
From dbo.郵遞區號資料

結果:


ISNUMERIC:判斷運算式是否為有效的數值類型。

Code:

Select 地區, ISNUMERIC(郵遞區號), 郵遞區號
From dbo.郵遞區號資料

結果:


參考資料:
ISNUMERIC (Transact-SQL)
ISNULL (Transact-SQL)
ISDATE (Transact-SQL)
IS [NOT] NULL (Transact-SQL)