Oracle中字符串連接的實現方法
阿新 • • 發佈:2019-03-22
算術表達式 else if decode from plain details () class tool
比如
SQL>SELECT ename||‘ is a ‘||job AS "Employee Details" FROM emp;
則查詢結果為:
Employee Details
-------------------------
SMITH is a ClERK
ALLEN is a SALESMAN
WARD is a MANAGER
1.和其他數據庫系統類似,Oracle字符串連接使用“||”進行字符串拼接,其使用方式和MSSQLServer中的加號“+”一樣。
例如:
SELECT ‘工號為‘||FNumber||‘的員工姓名為‘||FName FROM T_Employee WHERE FName IS NOT NULL
2.除了“||”,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會報出下面的錯誤信息:
參數個數無效
3.如果要進行多個字符串的拼接的話,可以使用多個CONCAT()函數嵌套使用,上面的SQL可以如下改寫:
SELECT CONCAT(CONCAT(CONCAT(‘工號為‘,FNumber),‘的員工姓名為‘),FName) FROM T_Employee WHERE FName IS NOT NULL
1、標準sql規範
--一、單個IF --1、 if a=... then ......... end if; --2、 if a=... then ...... else .... end if; --二、多個IF if a=.. then ...... elsif a=.. then .... end if; ----這裏中間是“ELSIF”,而不是ELSE IF 。這裏需要特別註意
2、decode函數
DECODE的語法:
DECODE(value,if1,then1,if2,then2,if3,then3,...,else)
表示如果value等於if1時,DECODE函數的結果返回then1,...,如果不等於任何一個if值,則返回else。
3、case when
case when a=‘1‘then ‘xxxx‘ when a=‘2‘ then ‘ssss‘ else ‘zzzzz‘ end as
註意點:
1、以CASE開頭,以END結尾
2、分支中WHEN 後跟條件,THEN為顯示結果
3、ELSE 為除此之外的默認情況,類似於高級語言程序中switch case的default,可以不加
4、END 後跟別名
Oracle 語句中“||”代表什麽啊?
Oracle 語句中“||”代表什麽啊?跟ServerSQL中的字符串的連接符“+”是一個概念麽?
1. 恩是的 是一個含義。。。select ‘1‘||‘2‘ from dual 代表12
2.跟ServerSQL中的字符串的連接符“+”是一個概念
3.
--連接字段
SQL>
select
‘ABC‘
||
‘EFG‘
from
dual;
‘ABC‘
||
‘EFG‘
------------
ABCEFG
也可以使用concat()函數
select
concat(
‘A‘
,
‘B‘
)
from
dual;
4.是的,是和java的 +號一樣的。相當於 串聯
5. ‘||‘在oracle中用於拼接關聯字段
6.連接字符串,相當於sql server中的+,也可以用concat()函數實現連接
7.
連接符,用於列與列,列與算術表達式或列與常量間創建一個字符表達式比如
SQL>SELECT ename||‘ is a ‘||job AS "Employee Details" FROM emp;
則查詢結果為:
Employee Details
-------------------------
SMITH is a ClERK
ALLEN is a SALESMAN
WARD is a MANAGER
Oracle中字符串連接的實現方法