2012年4月5日 星期四

SQL: ISNULL(), NVL(), IFNULL() 函數

在寫SQL語法時
若要將SELECT的欄位由NULL轉為空字串(empty string)
以我用過的三個資料庫的函數分別如下:
Oracle: NVL()
SQL Server: ISNULL()
MySQL: IFNULL()

以SQL Server為例,可以用這樣的語法來將null轉為你要替換的字串
SELECT ISNULL(Column,'')
FROM YourTable

不過,寫了這麼多年的SQL
很少遇到要將欄位的空字串轉為NULL
我是用REPLACE()來轉換
SQL Server的用法如下:
SELECT REPLACE(Column,'',NULL)
FROM YourTable


沒有留言:

張貼留言