欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

oracle怎么做函數(shù),oracle如何創(chuàng)建函數(shù)

如何創(chuàng)建oracle函數(shù)

create?or?replace?function?f(d?number)

成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供臨翔企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計制作、成都網(wǎng)站建設(shè)HTML5建站、小程序制作等業(yè)務(wù)。10年已為臨翔眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。

return?varchar

is

begin

return?substr(d,instr(d,'.')+1);

end?f;

select?f(12.34)?from?dual;

oracle中如何創(chuàng)建函數(shù),本人用的是pl/sql,初學(xué)者,最好能給出例子和詳細(xì)講解

下面是一個函數(shù)的簡單示例!建議閱讀相關(guān)書籍以便充分理解!畢竟很多細(xì)節(jié)是很難一一描繪的.系統(tǒng)看看書會比較好!

函數(shù)是有名稱的pl/sql塊

函數(shù)有返回值

在表達(dá)式中調(diào)用函數(shù)

存儲在服務(wù)器端

CREATE OR REPLACE FUNCTION get_sal

(v_id IN emp.empno%TYPE) RETURN NUMBER

IS

v_salary emp.sal%TYPE :=0;

BEGIN

SELECT sal INTO v_salary FROM emp WHERE empno = v_id;

RETURN (v_salary);

END get_sal;

/

驗證對象

select object_name,object_type from user_objects;

查看原程序

select text from user_source;

調(diào)用函數(shù)

select get_sal(7839) from dual;

刪除函數(shù)

DROP FUNCTION get_salary;

Oracle函數(shù)的使用

接收字符返回字符或數(shù)值時可以使用dual偽表

1、把小寫字符轉(zhuǎn)換成大寫

select supper(“smi”) form dual

2、把大寫轉(zhuǎn)換成小寫

lower(“SMI”)

3、首字母大寫

initcap(“smi”)

4、字符串的連接可以使用concat,也可以使用? ? 建議使用

concat(“hello”“world”) 結(jié)果為helloworld

5、字符串的截取,使用substr,第一個參數(shù)為字符串,第二個參數(shù)是索引,第三個參數(shù)結(jié)束索引(開始索引使用0和1效果一樣)

substr(hello,0,3) 結(jié)果為hel

6、獲取字符串長度

length(“hello”)

7、字符串替換,第二個參數(shù)為被替換的字符串,第三個是替換的字符串

replace(“hello”,“l(fā)”,“x”) 結(jié)果為hexxo

1、四舍五入函數(shù)ROUND()

默認(rèn)取整,可以指定保留位數(shù)

round(12.523)? 結(jié)果為13

round(12.537,2) 結(jié)果為12.54

2、取整TRUNC

默認(rèn)全部去掉小數(shù),可以指定位數(shù)

trunc(12.789) 結(jié)果為12

3、取余數(shù)MOD

mod(10,3) 結(jié)果為1

oracle中提供了很多和日期相關(guān)的函數(shù),包括日期的加減

日期 - 數(shù)字 =日期

日期 - 日期 = 數(shù)字(天)

1、如:查詢員工進(jìn)入公司的走數(shù)

(sysdate - 入職日期)/7

注:當(dāng)前日期查詢select sysdate form dual

2、查詢所有員工進(jìn)入公司的月數(shù)

獲取兩個時間段的月數(shù)使用months_between(sysdate,入職日期)

3、獲取幾個月后的日期:add_months()

如:獲取員工三個月后的日期

add_months(sysdate,3)

4、如求出下星期一是什么時候

指定給出下次某日期數(shù)next_date()

next_date(sysdate,“星期一”)

5、求日期的最后一天last_day()

求出本月的最后一天

last_day(sysdate)

1、to_char字符串轉(zhuǎn)換函數(shù)

如:將所有員工的入職日期的年、月分開

注:在劃分時需要通配符

年:yyyy? 月:mm? 日:dd

時:HH 分:mi? 秒:ss

定義時間格式

to_char(sysdate,“yyyy-mm-dd HH24:mi:ss”)

在10以下的月數(shù)前面會默認(rèn)加上前導(dǎo)零,去除加上fm

to_char(sysdate,“fmyyyy-mm-dd HH24:mi:ss”)

to_char還可以給數(shù)字做格式化

如將員工的工資按三位“,”分隔

to_char(工資,“99,999”) 9代表數(shù)字

如果想在錢上加上國家符號

美元使用

中文使用l

to_char(工資,“99,999”)

to_char(工資,“l(fā)99,999”)

2、to_number數(shù)值轉(zhuǎn)換函數(shù),將字符串轉(zhuǎn)換成數(shù)值

to_number(“10”) +to_number(“10”)

3、to_date日期轉(zhuǎn)換函數(shù),將字符串?dāng)?shù)據(jù)轉(zhuǎn)換成日期類型

to_date(“1997-05-12”,“YYYY-mm-dd”)? 1997/05/12

1、空值處理 nvl

如果在查詢的時候存在空值的情況可以使用

nvl(comm,0) 當(dāng)comm的列值為空時,用0代替

2、decode函數(shù)

該函數(shù)類似于if ...else if ...else

語法:decode(列名/值,search1,result1,search2,result2,default)

decode(中國,中國,我是中國,美國,我是美國,其他)

如果為中國返回我是中國,為美國返回我是美國,為其他字符則返回其他。

3、case when 與decode差不多

語法 case when city=中國 then 我是中國

? ? ? ? ? when city=美國 then 我是美國

? ? ? ? ? ? else 其他

oracle 怎么創(chuàng)建一個函數(shù)?

create or replace

FUNCTION "函數(shù)名"

(

A in number,

B in number,

name in VARCHAR2

)

BEGIN

insert into 表名 values(A+B,name);

END 函數(shù)名;

//花括號里邊就是需要傳的參數(shù),name如果是固定的可以直接寫死,就不用傳參了

名稱欄目:oracle怎么做函數(shù),oracle如何創(chuàng)建函數(shù)
文章地址:http://chinadenli.net/article48/hchhhp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站網(wǎng)站設(shè)計標(biāo)簽優(yōu)化定制網(wǎng)站網(wǎng)站制作App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名