Oracle中字符串連接的實現方法


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 



oracle中if/else功能的實現的3種寫法

 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM