Oracle字串連線的方法

langgufu314發表於2012-06-19

和其他資料庫系統類似,Oracle字串連線使用“||”進行字串拼接,其使用方式和MSSQLServer中的加號“+”一樣。

比如執行下面的SQL語句:
SELECT '工號為'||FNumber||'的員工姓名為'||FName FROM T_Employee
WHERE FName IS NOT NULL

除了“||”,Oracle還支援使用CONCAT()函式進行字串拼接,比如執行下面的SQL語句:
SELECT CONCAT('工號:',FNumber) FROM T_Employee

如果CONCAT中連線的值不是字串,Oracle會嘗試將其轉換為字串,比如執行下面的SQL語句:
SELECT CONCAT('年齡:',FAge) FROM T_Employee

與MYSQL的CONCAT()函式不同,Oracle的CONCAT()函式只支援兩個引數,不支援兩個以上字串的拼接,比如下面的SQL語句在Oracle中是錯誤的:
SELECT CONCAT('工號為',FNumber,'的員工姓名為',FName) FROM T_Employee
WHERE FName IS NOT NULL
執行以後Oracle會報出下面的錯誤資訊:
引數個數無效

如果要進行多個字串的拼接的話,可以使用多個CONCAT()函式巢狀使用,上面的SQL可以如下改寫:
SELECT CONCAT(CONCAT(CONCAT('工號為',FNumber),'的員工姓名為'),FName) FROM
T_Employee
WHERE FName IS NOT NULL

相關文章