oraclesql的decode
『壹』 請問sql中decode函數的用法
DECODE函數是ORACLE PL/SQL是功能強大的函數之一,還只有ORACLE公司的SQL提供了此函數,其他資料庫廠商的SQL實現還沒有此功能。
DECODE函數,是ORACLE公司的SQL軟體ORACLE PL/SQL所提供的特有函數計算方式,以其簡潔的運算方式,可控的數據模型和靈活的格式轉換而聞名。
(1)oraclesql的decode擴展閱讀:
DECODE(value, if1, then1, if2,then2, if3,then3, . . . else )
Value 代表某個表的任何類型的任意列或一個通過計算所得的任何結果。當每個value值被測試,如果value的值為if1,Decode 函數的結果是then1;如果value等於if2,Decode函數結果是then2;等等。事實上,可以給出多個if/then 配對。如果value結果不等於給出的任何配對時,Decode 結果就返回else 。
需要注意的是,這里的if、then及else 都可以是函數或計算表達式。
『貳』 sql decode函數裡面有多個值怎麼辦
1, deocde 與 case when 的作用相同,用於不同條件分支的不同處理。於case when 相比只是用法不同。同樣可以嵌套和滿足多個值。
2,多個值
decode(name, 'Wang', '001', 'Li', '002', '003')
相當於
case
when name = 'Wang'
then '001'
when name = 'Li'
then '002'
else '003'
end
3, 嵌套
decode(name, 'Wang', decode(sno, '001', 'Yes', ''), 'Li', decode(sno,'002','Yes',''), decode(sno, '003','Yes',''))
相當於
case
when name = 'Wang'
then case
when sno='001'
then 'Yes'
else ''
end
when name='Li'
then case
when sno='002'
then 'Yes'
else ''
end
else case
when sno='003'
then 'Yes'
else ''
end
end
『叄』 ORACLE SQL 鍒ゆ柇鏁版嵁
鍋囪炬槸琛ˋ
SELECT TBL.NAME,CASE A.CLASS WHEN '2' THEN 'Y' ELSE 'N' END AS 'Y/N'
FROM (SELECT DISTINCT NAME FROM A)TBL
LEFT JOIN A ON TBL.NAME = A.NAME
WHERE A.CLASS = 2
SELECT DISTINCT NAME FROM A 鏄鑾峰彇鎵鏈夌殑瀛︾敓錛屽幓閲嶅
CASE A.CLASS WHEN '2' THEN 'Y' ELSE 'N' END AS 'Y/N' 鏄瀵笴LASS榪涜屽垽鏂
『肆』 oracle sql語句中,有沒有能夠將結果集中數字替換成漢字的函數
oracle sql語句中,有沒有能夠將結果集中數字替換成漢字的函數?
oracle sql語句中,有能夠將結果集中數字替換成漢字的函數,用decode()函數。
1,SQL是Oracle資料庫對SQL語句的擴展。它是一種程序語言,叫做過程化SQL語言。
2,在普通SQL語句的使用上增加了編程語言的特點,所以PL/SQL就是把數據操虛褲仔作和查詢語句組織在PL/SQL代碼的過程性單元中,通過邏輯判斷、循環等操作實現復雜的功能或者計算的程序語言。
3,通過多條SQL語句實現功能時,每條語句都需要在客戶端和服務端傳遞,而且每條語句的執行結果也需要在網路中進行交互,佔用了大量的網路帶寬,消耗了大量網路傳遞的時間。在網路中傳輸的那些結果,往往都是中間結果,而不是我們所關心的。
4,在整個過程中網路里只傳輸了很少的數據,減少了網路傳輸佔用的時間,所以整體程序的執行性能會有明顯的提高。
5,PL/SQL的使用,使SQL成為一種高級程序設計語言,支持高級語言的塊操作,條件判斷,循環語句,嵌套等,與資料庫核心的數據類型集成,使SQL 的程序設計效率更高.
word 中的查找替換將數字換成漢字
先用CTRL+A把WORD全文選中,然後按「CTRL+F」打開「查找和替換」,選「替換」,然後在「查找內容」中輸入你想要替換掉的數字,然後在「替換為」中輸入你想換成的漢字,如果只替換一處,直接點下邊的「替換差汪」就可以了,如果想把文檔中所有符合條件的都替換就點「全部替換」即可。
Mysql中查詢一個表,把結果中的7替換成文字,請寫出sql語句
7是一個欄位嗎?還是一個值?值的話就case when吧 case when a=7 then '文字' else a
在sql查詢中null怎麼替換成漢字
假設欄位名為 column
case when column is null then '空' else column end
還有更方便的
isnull(column,'空')
Mysql中查詢一個表,把結果中的NULL替換成0,怎麼寫出sql語句?
1、MSSQL: ISNULL()
語法純扒
ISNULL ( check_expression , replacement_value )
參數
check_expression
將被檢查是否為 NULL的表達式。check_expression 可以是任何類型的。
replacement_value
在 check_expression 為 NULL時將返回的表達式。replacement_value 必須與 check_expresssion 具有相同的類型。
返回類型
返回與 check_expression 相同的類型。
注釋
如果 check_expression 不為 NULL,那麼返回該表達式的值;否則返回 replacement_value。
2、Oracle: NVL()
語法
NVL(eExpression1, eExpression2)
參數
eExpression1, eExpression2
如果 eExpression1 的計算結果為 null 值,則 NVL() 返回 eExpression2。如果 eExpression1 的計算結果不是 null 值,則返回 eExpression1。eExpression1 和 eExpression2 可以是任意一種數據類型。如果 eExpression1 與 eExpression2 的結果皆為 null 值,則 NVL( ) 返回 NULL
WPS中如何將所有漢字替換成漢儀中宋簡
首先,你的電腦系統中需要安裝漢儀中宋簡字體。
如果沒有,可網路一下,下載安裝。WIN7系統在下載的.ttf文件上點鍵——安裝即可安裝到系統中。
在WPS中,全選(按Ctrl+A),在「字體」中選擇該字體。
oracle 中的instr替換成sqlserver的什麼函數
Oracle:INSTR(<C1>,<C2>[,I][,J])
SQL Server:CHARINDEX(<C1>,<C2>[,I])
說明:在C2中從I開始搜索C1第1次出現的位置。I:默認1
java中數組的替換當中,如何使用fill()將數字替換成符號
當數據元素為對象時,數據的元素先要初始化,才能使用.因此,代碼
a[]=new [10];
a[0].set(100);
System.out.println(a[0].num);
需要改成;
a[]=new [10];
a[0]=new ();
a[0].set(100);
System.out.println(a[0].num);
sqlite 用sql語句將結果集中的一列數據拼接成一個字元串
這個只用一個查詢語句我是沒有方法可以解決。
我的解決方法需要用到存儲過程,可以直接使用下面代碼,或者將其裝入存儲過程。
Declare @s varchar(200)--長度需要根據需要設定
Set @s = ''
Select @s = @s + Name from 【表】--你的表
Where 【條件】
Select @s
『伍』 SQL中 decode()函數簡介
DECODE函數,是ORACLE公司的SQL軟體ORACLE
PL/SQL所提供的特有函數計算方式,以其簡潔的運算方式,可控的數據模型和靈活的格式轉換而聞名。
今天看別人的SQL時看這裡面還有decode()函數,以前從來沒接觸到,上網查了一下,還挺好用的一個函數,寫下來希望對朋友們有幫助哈!
decode()函數簡介:
主要作用:將查詢結果翻譯成其他值(即以其他形式表現出來,以下舉例說明);
使用方法:
Select
decode(columnname,值1,翻譯值1,值2,翻譯值2,...值n,翻譯值n,預設值)
From
talbename
Where
…
其中columnname為要選擇的table中所定義的column,
·含義解釋:
decode(條件,值1,翻譯值1,值2,翻譯值2,...值n,翻譯值n,預設值)的理解如下:
if
(條件==值1)
then
return(翻譯值1)
elsif
(條件==值2)
then
return(翻譯值2)
......
elsif
(條件==值n)
then
return(翻譯值n)
else
return(預設值)
end
if
註:其中預設值可以是你要選擇的column
name
本身,也可以是你想定義的其他值,比如Other等;
舉例說明:
現定義一table名為output,其中定義兩個column分別為monthid(var型)和sale(number型),若sale值=1000時翻譯為D,=2000時翻譯為C,=3000時翻譯為B,=4000時翻譯為A,如是其他值則翻譯為Other;
SQL如下:
Select
monthid
,
decode
(sale,1000,'D',2000,'C',3000,'B',4000,'A','Other')
sale
from
output
特殊情況:
若只與一個值進行比較
Select
monthid
,decode(sale,
NULL,『---',sale)
sale
from
output
另:decode中可使用其他函數,如nvl函數或sign()函數等;
NVL(EXPR1,EXPR2)
若EXPR1是NULL,則返回EXPR2,否則返回EXPR1.
SELECT
NAME,NVL(TO_CHAR(COMM),'NOT
APPLICATION')
FROM
TABLE1;
如果用到decode函數中就是
select
monthid,decode(nvl(sale,6000),6000,'NG','OK')
from
output
sign()函數根據某個值是0、正數還是負數,分別返回0、1、-1,
如果取較小值就是
select
monthid,decode(sign(sale-6000),-1,sale,6000)
from
output,即達到取較小值的目的。
小結:
作用:將輸入數值與函數中的參數列表相比較,根據輸入值返回一個對應值。函數的參數列表是由若干數值及其對應結果值組成的若干序偶形式。當然,假如未能與任何一個實參序偶匹配成功,則函數也有默認的返回值。
區別於SQL的其它函數,DECODE函數還能識別和操作空值。
語法:DECODE(control_value,value1,result1[,value2,result2…][,default_result]);
control
_value試圖處理的數值。DECODE函數將該數值與後面的一系列的偶序相比較,以決定返回值。
value1是一組成序偶的數值。假如輸入數值與之匹配成功,則相應的結果將被返回。對應一個空的返回值,可以使用要害字NULL於之對應
result1
是一組成序偶的結果值。
default_result
未能與任何一個值匹配時,函數返回的默認值。
『陸』 oracle涓璬ecode鍑芥暟鏈変粈涔堢敤錛
DECODE鍑芥暟鐩稿綋浜庝竴鏉′歡璇鍙(IF).瀹冨皢杈撳叆鏁板間笌鍑芥暟涓鐨勫弬鏁板垪琛ㄧ浉姣旇緝錛屾牴鎹杈撳叆鍊艱繑鍥炰竴涓瀵瑰簲鍊箋傚嚱鏁扮殑鍙傛暟鍒楄〃鏄鐢辮嫢騫叉暟鍊煎強鍏跺瑰簲緇撴灉鍊肩粍鎴愮殑鑻ュ共搴忓伓褰㈠紡銆傚綋鐒訛紝濡傛灉鏈鑳戒笌浠諱綍涓涓瀹炲弬搴忓伓鍖歸厤鎴愬姛錛屽垯鍑芥暟涔熸湁榛樿ょ殑榪斿洖鍊箋傚尯鍒浜嶴QL鐨勫叾瀹冨嚱鏁幫紝DECODE鍑芥暟榪樿兘璇嗗埆鍜屾搷浣滅┖鍊.
鍏跺叿浣撶殑璇娉曟牸寮忓備笅錛
DECODE(input_value,value,result[,value,result鈥][,default_result]);
鍏朵腑錛
input_value
璇曞浘澶勭悊鐨勬暟鍊箋侱ECODE鍑芥暟灝嗚ユ暟鍊間笌涓緋誨垪鐨勫簭鍋剁浉姣旇緝錛屼互鍐沖畾鏈鍚庣殑榪斿洖緇撴灉
value
鏄涓緇勬垚搴忓伓鐨勬暟鍊箋傚傛灉杈撳叆鏁板間笌涔嬪尮閰嶆垚鍔燂紝鍒欑浉搴旂殑緇撴灉灝嗚榪斿洖銆傚瑰簲涓涓絀虹殑榪斿洖鍊礆紝鍙浠ヤ嬌鐢ㄥ叧閿瀛桸ULL浜庝箣瀵瑰簲
result
鏄涓緇勬垚搴忓伓鐨勭粨鏋滃
default_result
鏈鑳戒笌浠諱綍涓搴忓伓鍖歸厤鎴愬姛鏃訛紝鍑芥暟榪斿洖鐨勯粯璁ゅ
涓嬮潰鐨勪緥瀛愯存槑浜嗭紝濡備綍璇誨彇鐢ㄦ埛CHECKUP琛⊿EAPARK涓鐨凚LOOD_TEST_FLAG鍒椾笅鐨勯」鐩錛屼綔涓篋ECODE鍑芥暟鐨勫疄鍙傛敮鎸佸箋
SELECT
checkup_type,
DECODE(blood_test_flag,鈥橸鈥,鈥橸es鈥,鈥橬鈥,鈥橬o鈥,NULL,鈥橬one鈥,鈥橧nvalid鈥)
FROM
checkup;
『柒』 請教sql decode函數的一個簡單用法
首先decode函數是Oracle獨有的判斷函數!
//其實就是一個簡單的判斷函數,比如欄位的值為a
decode(欄位,'a','輸出是a','是a','輸出是b','否則輸出都不是');
//下面我拿EMP表的SCOTT來示例代碼:
SELECT
DECODE(ename,'是SCOTT','Yes','不是SCOTT','No','都不是')
FROMemp
WHEREename=UPPER('scott');