程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> DB2字符串連接的實現過程

DB2字符串連接的實現過程

編輯:DB2教程

DB2字符串連接和Oracle數據庫相同,使用“||”進行DB2字符串連接,其使用方式和MSSQLServer中的加號“+”一樣。比如執行下面的SQL語句:
SELECT '工號為'||FNumber||'的員工姓名為'||FName FROM T_Employee
WHERE FName IS NOT NULL

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

與Oracle不同,如果CONCAT中連接的值不是字符串,則DB2不會嘗試進行類型轉換而是報出錯誤信息,比如執行下面的SQL語句是錯誤的:
SELECT CONCAT('年齡:',FAge) FROM T_Employee

運行以後DB2會報出下面的錯誤信息:
未找到類型為"FUNCTION" 命名為 "CONCAT" 且具有兼容自變量的已授權例

與MySQL的CONCAT()函數不同,DB2的CONCAT()函數只支持兩個參數,不支持兩個以上字符串的拼接,比如下面的SQL語句在Oracle中是錯誤的:
SELECT CONCAT('工號為',FNumber,'的員工姓名為',FName) FROM T_Employee
WHERE FName IS NOT NULL
運行以後Oracle會報出下面的錯誤信息:
未找到類型為"FUNCTION" 命名為 "CONCAT" 且具有兼容自變量的已授權例程

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved