Oracle基礎語法
Select語句及過濾
(1)語法:
(2)注意
① 大小寫不敏感
② SQL可以寫一行或多行
③ 關鍵字不能縮寫也不能分行
④ 各個子句一般要分行寫
使用縮進提高語句的可讀性
(3)使用數字運算符
數字和日期可以使用算數運算符
(4)操作符優先級
① 乘除的優先級高于加減
② 同一優先級運算符從左向右執行
③ 括號內的運算符先執行
④ 空值的數學表達式都為空值
(5)列的別名
是一個重命名的一個列,便于計算,緊跟列名,也可以在列名和別名之間加 ‘AS’ ,別名使用雙引號,以便在別名中包含空格或特殊的字符并區分大小寫
(6)連接符
用 “||” 來將列與列、列與字符連接在一起
例如將名字和工種id相連:

(7)比較運算
① 基本比較運行符
“== 、> ,>=,<,<=,<>不等于, :=賦值符號”
② 其他比較運算符
BETWEEN…AND,IN(),LIKE,IS NULL
③ 轉義符
回避特殊符號使用轉義符,只要在特殊符號前加 ‘\’,然后再加上 ESCAPE ''即可。
(8)邏輯運算
① AND 邏輯與,全為真為真
② OR 邏輯或,有一個真就為真
③ NOT 邏輯非,取反
(9)優先級
(10)字符串
字符串可以是SELECT 列表中的一個字符、數字、日期,其中日期和字符只能在單引號中出現。
(11)去除重復行
在SELECT 子句中使用關鍵字“DISTINCT”刪除重復行記錄
(12)顯示表結構
使用DESCRIBE命令表示表結構
二 函數
1 單行函數
用于操作數據對象,接受參數返回一個結果,只對一行進行變換,每行返回一個結果,可以轉換數據類型,可以進行嵌套,參數可以是一列或一個值。
(1)字符函數
① 大小寫控制函數
LOWER,UPPER,INITCAP

② 字符控制函數
CONCAT,SUBSTR,LENGTH,INSTR,LPAD,RPAD,TRIM,REPLACE

③ 數字函數
ROUND,TRUNC,MOD

④ 日期函數
在日期上加上或減去一個數字結果仍為日期,兩個日期相減返回日期之間相差的天數
可以用數字除以24來向日期中加上或減去天數


三 類型轉換
1 隱式數據類型轉換
Oracle自動完成下列的轉換

2 顯式轉換
(1)TO_CHAR函數對日期的轉換
必須包含在單引號內且大小寫敏感,可以包含任意的有效日期格式,日期間用逗號隔開,使用雙引號向日期中添加字符
(2)TO_DATA函數對字符的轉換
(3)TO_CHAR函數對數字的轉換
下面是TO_CHAR函數中經常使用的幾種格式

(4)TO_NUMBER函數對字符的轉換
四 通用函數
1 NVL函數
將空值轉換成一個已知的值
可以使用日期、字符和數字等數據類型
NVL(expr1,expr2)
NVL(expr1,expr2,expr3)類似于三目條件運算符


2 NULLIF函數
NULLIF(expr1,expr2);相等返回null,否則返回expr1列下的數據值


3 COALESCE函數
COALESCE與NVL相比可以同時處理交替的多個值,如果第一個表達式為空,則返回下一個表達式,對其他的參數進行COALESCE。
五 條件邏輯控制
1 CASE表達式
語法:
案例:


2 DECODE函數
語法:
案例:

