Oracle 常用函式

2021-09-18 01:14:24 字數 2036 閱讀 1636

一、oracle的nvl函式用法【從兩個表示式返回乙個非 null 值。】

語法【nvl(eexpression1, eexpression2)】

引數【eexpression1, eexpression2】

如果 eexpression1 的計算結果為 null 值,則 nvl( ) 返回 eexpression2。如果 eexpression1 的計算結果不是 null 值,則返回 eexpression1。eexpression1 和 eexpression2 可以是任意一種資料型別。如果 eexpression1 與 eexpression2 的結果皆為 null 值,則 nvl( ) 返回 .null.。

返回值型別【字元型、日期型、日期時間型、數值型、貨幣型、邏輯型或 null 值】

在不支援 null 值或 null 值無關緊要的情況下,可以使用 nvl( ) 來移去計算或操作中的 null 值。

【select nvl(a.name,『空得』) as name from student a join school b on a.id=b.id】

注意:兩個引數得型別要匹配

例如:

select t.d_fdate,

t.vc_zhcode,

nvl(sum(t.f_fzqsz), 0) f_price_b,

nvl(sum(t.f_fzqcb), 0) f_cost_b,

nvl(sum(t.f_fgz_zz), 0) f_gz_b,

nvl(sum(t.f_fyzqsz), 0) f_price_y,

nvl(sum(t.f_fyzqcb), 0) f_cost_y,

nvl(sum(t.f_fygz_zz), 0) f_gz_y,

t.vc_source,

sysdate d_updatetime

from gz_fund_gzb t;

比如這樣的判斷就很重要啦,因為你不知道哪一行是 is not null 的,也不知道接下來是否要對這個單元格進行運算操作,因此,不能給列填 null,就給它乙個 0 ,便於檢視,也便於運算。

二、用oracle儲存過程將一張表的資料查出插入另一張表?

create or replace procedure test

is begin

--兩個表字段一樣

insert into 表名1 select * from 表名2;

--欄位不一樣

insert into 表名1(欄位1,欄位2,欄位3) select 欄位1,欄位2,欄位3 from 表名2;

commit;

end

三、擷取字段值

1、substr函式格式 (俗稱:字元擷取函式)

格式1: substr(string string, int a, int b);

格式2:substr(string string, int a) ;

​解釋:

格式1:

1、string 需要擷取的字串

2、a 擷取字串的開始位置(注:當a等於0或1時,都是從第一位開始擷取)

3、b 要擷取的字串的長度

格式2:

1、string 需要擷取的字串

2、a 可以理解為從第a個字元開始擷取後面所有的字串。

四、oracle獲取字串長度函式length()和lengthb()?

lengthb(string) 計算string所佔的位元組長度:返回字串的長度,單位是位元組

length(string) 計算string所佔的字元長度:返回字串的長度,單位是字元

對於單位元組字元,lengthb和length是一樣的.

如可以用length(『string』)=lengthb(『string』)判斷字串是否含有中文。

五、擷取系統當前日期

方式1:extract(year from sysdate)

方式2:substr(to_char(sysdate,『yyyy-mm-dd』),1,7)

Oracle常用函式

一 row number over 資料甲 1 select column name column name,data type,2 row number over partition by column name order by column name row num 3 from test c...

Oracle常用函式

數學函式 1.絕對值 o select abs 1 value from dual 2.取整 大 o select ceil 1.001 value from dual 3.取整 小 o select floor 1.001 value from dual 4.取整 擷取 o select trun...

oracle常用函式

1.concat c1,c2均為字串,函式將c2連線到c1的後面,如果c1為null,將返回c2.如果c2為null,則返回c1,如果c1 c2都為null,則返回null。他和操作符 返回的結果相同 select concat slobo svoboda username from dualuse...