我的工作中SQL學習
一、Decode()函式
1、表示式:decode(條件,值1,翻譯值1,值2,翻譯值2,...值n,翻譯值n,預設值)
2、解釋:
if (條件==值1) return(翻譯值1)
Else if(條件==值2) return(翻譯值2)
......
Elseif (條件==值n) return(翻譯值n)
elsereturn(預設值)
二、Round()函式
1、表示式:round(列名,返回的小數位數)
2、解釋:select round(money,0) from表名
原資料為 money:2.3 查詢完後成2
三、Ceil()函式
1、表示式:ceil(X)
2、解釋:
Select celi(3.4) from dual; 值為4
3、round和ceil對比
四、Sign()函式
1、表示式:select sign(n) from dual
2、解釋:取數字n的符號,大於0返回1,小於0返回-1,等於0返回0
五、Cast()用法
1、表示式:cast(列名/值/字串 as 資料型別)
2、解釋:select cast(id as int ) id from表名
六、Nvl()函式和Nvl2()函式
1、表示式:nvl(表示式1,表示式2);nvl2(表示式1,表示式2,表示式3)
2、解釋:如果表示式1為空,則返回表示式2的值;表示式1不為空,返回表示式1的值
如果表示式1不為空,則返回表示式2的值;表示式1為空,返回表示式3的值
七、層次化查詢(即樹形結構查詢)
1、表示式:select [level],colunm,expression from table_name [where條件1] [start with條件2] [connect by prior條件3]
2、解釋:level:偽列,用於表示樹的層次
條件2:層次查詢的起始條件,指定階層的根
條件
八、轉換函式
1、表示式:①to_date(char[,”format_model”]) ②to_char(date,”format_model”])
2、解釋:to_char(now(),'Day, HH12:MI:SS') 結果'Tuesday , 05:39:18'
九、其他
1、null表示式:is null / is not null 錯誤的=null / !=null
2、in表示式:in的用法是多個or
3、order by表示式:只能用在最外層查詢後面
4、substr(x,starti_ndex,length):substr(‘字串’,開始的下標,要取得長度)