記兩個oracle函式

2021-08-29 17:31:02 字數 1655 閱讀 1596

記兩個oracle函式,今天剛見到的:

一、   lpad(,<i>[,])

c1,c2均為字串,i為整數。在c1的左側用c2字串補足致長度i,可多次重複,如果i小於c1的長度,那麼只返回i那麼長的c1字元,其他的將被截去。c2的預設值為單空格,參見rpad。

select lpad(answer,7,'') padded,answer unpadded from question;

二、  rpad(,<i>[,])

在c1的右側用c2字串補足致長度i,可多次重複,如果i小於c1的長度,那麼只返回i那麼長的c1字元,其他的將被截去。c2的預設值為單空格,其他與lpad相似.

三、 null

null值表示乙個未知資料或者乙個空值,算術操作符的任何乙個運算元為null值,結果均為提個null值,這個規則也適合很多函式,只有concat,decode,dump,nvl,replace在呼叫了null引數時能夠返回非null值。在這些中nvl函式時最重要的,因為他能直接處理null值,nvl有兩個引數:nvl(x1,x2),x1和x2都式表示式,當x1為null時返回x2,否則返回x1。

四、 union all 和union

sql> select * from a;

id name

---------- ----------

1 aa

2 bb

3 cc

6 dd

7 ee

sql> select * from b;

id addr

---------- ----------

1 aa

2 bb

3 cc

4 dd

5 ee

sql> select * from a

2 union all

3 select * from b;

id name

---------- ----------

1 aa

2 bb

3 cc

6 dd

7 ee

1 aa

2 bb

3 cc

4 dd

5 ee

已選擇10行。

sql> select * from a

2 union

3 select * from b;

id name

---------- ----------

1 aa

2 bb

3 cc

4 dd

5 ee

6 dd

7 ee

已選擇7行。

五、 coalesce

從oracle 9i版開始,coalesce函式在很多情況下就成為替代case語句的一條捷徑,coalesce的格式如下:

coalesce (expression_1, expression_2, ...,expression_n)

列表中第乙個非空的表示式是函式的返回值,如果所有的表示式都是空值,最終將返回乙個空值。

使用coalesce的秘密在於大部分包含空值的表示式最終將返回空值(連線操作符「||」是乙個值得注意的例外)。例如,空值加任何值都是空值,空值乘任何值也都是空值,依此類推。

oracle 兩個時間相減

oracle兩個時間相減預設的是天數 oracle 兩個時間相減預設的是天數 24 為相差的小時數 oracle 兩個時間相減預設的是天數 24 60 為相差的分鐘數 oracle 兩個時間相減預設的是天數 24 60 60 為相差的秒數 months between date2,date1 給出d...

oracle 兩個時間相減

oracle兩個時間相減預設的是天數 oracle 兩個時間相減預設的是天數 24 為相差的小時數 oracle 兩個時間相減預設的是天數 24 60 為相差的分鐘數 oracle 兩個時間相減預設的是天數 24 60 60 為相差的秒數 months between date2,date1 給出d...

oracle 兩個時間相減

oracle 兩個時間相減預設的是天數 oracle 兩個時間相減預設的是天數 24 為相差的小時數 oracle 兩個時間相減預設的是天數 24 60為相差的分鐘數 oracle 兩個時間相減預設的是天數 24 60 60 為相差的秒數 months between date2,date1 給出d...