1. 程式人生 > >我的工作中SQL學習

我的工作中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表名

原資料為 money2.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:層次查詢的起始條件,指定階層的根

                條件

3:定義父節點和子節點之間的關係,prior指定父節點。作為運算子,prior和加(+)(-)運算的優先順序相同。

八、轉換函式

1、表示式:①to_date(char[,format_model])       ②to_char(date,format_model])

   2、解釋:to_char(now(),'Day, HH12:MI:SS')  結果'Tuesday , 05:39:18'

九、其他

1null表示式:is null / is not null  錯誤的=null / !=null

   2in表示式:in的用法是多個or

3order by表示式:只能用在最外層查詢後面

   4substr(x,starti_ndex,length)substr(字串’,開始的下標,要取得長度)