摘要: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)