1.oracle中decode函數
DECODE函數相當于一條件語句(IF).它將輸入數值與函數中的參數列表相比較,根據輸入值返回一個對應值。函數的參數列表是由若干數值及其對應結果值組成的若干序偶形式。當然,如果未能與任何一個實參序偶匹配成功,則函數也有默認的返回值。區別于SQL的其它函數,DECODE函數還能識別和操作空值.
其具體的語法格式如下:
DECODE(input_value,value,result[,value,result…][,default_result]);
其中:
input_value 試圖處理的數值。DECODE函數將該數值與一系列的序偶相比較,以決定最后的返回結果
value 是一組成序偶的數值。如果輸入數值與之匹配成功,則相應的結果將被返回。對應一個空的返回值,可以使用關鍵字NULL于之對應
result 是一組成序偶的結果值
default_result 未能與任何一序偶匹配成功時,函數返回的默認值
下面的例子說明了,如何讀取用戶CHECKUP表SEAPARK中的BLOOD_TEST_FLAG列下的項目,作為DECODE函數的實參支持值。
SELECT checkup_type,
DECODE(blood_test_flag,’Y’,’Yes’,’N’,’No’,NULL,’None’,’Invalid’)
FROM checkup;
2.oracle中to char和to date的區別
o char 是把日期或數字轉換為字符串
to date 是把字符串轉換為數據庫中得日期類型
轉換函數Ø
TO_CHAR²
使用TO_CHAR函數處理數字
TO_CHAR(number, '格式')
TO_CHAR(salary,’$99,999.99’);
使用TO_CHAR函數處理日期
TO_CHAR(date,’格式’);
TO_NUMBER²
使用TO_NUMBER函數將字符轉換為數字
TO_NUMBER(char[, '格式'])
TO_DATE²
使用TO_DATE函數將字符轉換為日期
TO_DATE(char[, '格式'])
數字格式格式²
9 代表一個數字
0 強制顯示0
$ 放置一個$符
L 放置一個浮動本地貨幣符
. 顯示小數點
, 顯示千位指示符
² 日期格式
格式控制 描述
YYYY、YYY、YY 分別代表4位、3位、2位的數字年
YEAR 年的拼寫
MM 數字月
MONTH 月的全拼
MON 月的縮寫
DD 數字日
DAY 星期的全拼
DY 星期的縮寫
AM 表示上午或者下午
HH24、HH12 12小時制或24小時制
MI 分鐘
SS 秒鐘
SP 數字的拼寫
TH 數字的序數詞
“特殊字符” 假如特殊字符
HH24:MI:SS AM 15:43:20 PM
DD “OF” MONTH 12 OF OCTOBER
DDSPTH fourteenth
Date的格式 ’18-5月-84’
3 NVL() 函數
從兩個表達式返回一個非 null 值。
語法
NVL(eExpression1, eExpression2)
參數
eExpression1, eExpression2
如果 eExpression1 的計算結果為 null 值,則 NVL( ) 返回 eExpression2。如果 eExpression1 的計算結果不是 null 值,則返回 eExpression1。eExpression1 和 eExpression2 可以是任意一種數據類型。如果 eExpression1 與 eExpression2 的結果皆為 null 值,則 NVL( ) 返回 .NULL.。
返回值類型
字符型、日期型、日期時間型、數值型、貨幣型、邏輯型或 null 值
說明tb
在不支持 null 值或 null 值無關緊要的情況下,可以使用 NVL( ) 來移去計算或操作中的 null 值。
select nvl(a.name,'空得') as name from student a join school b on a.ID=b.ID
注意:兩個參數得類型要匹配