怎么測試,oracle function函數(shù)
創(chuàng)新互聯(lián)公司為企業(yè)級客戶提高一站式互聯(lián)網(wǎng)+設計服務,主要包括網(wǎng)站設計制作、網(wǎng)站建設、成都app軟件開發(fā)、成都微信小程序、宣傳片制作、LOGO設計等,幫助客戶快速提升營銷能力和企業(yè)形象,創(chuàng)新互聯(lián)各部門都有經(jīng)驗豐富的經(jīng)驗,可以確保每一個作品的質(zhì)量和創(chuàng)作周期,同時每年都有很多新員工加入,為我們帶來大量新的創(chuàng)意。
比如你定義了一個函數(shù):
create FUNCTION y2
(inx2 number)
return number is
Result number(2);
begin
Result := inx2*inx2;
return(Result);
end y2;
1、安裝oracle后,運行程序,輸入用戶名等信息登錄。
2、下面演示sysdate的用法,這個是oracle獨有的,取當前時間。
3、下面介紹to_char()函數(shù)的用法,將時間轉(zhuǎn)化為特定的格式。
4、下面介紹一種將時間轉(zhuǎn)化為漢字形式的時間格式及顯示出星期。
5、下面演示to_date函數(shù)的使用方法,將字符串轉(zhuǎn)換為標準的時間格式。
SELECT OBJECT_NAME FROM USER_OBJECTS WHERE OBJECT_TYPE='FUNCTION'
查看自定義函數(shù)名的話,
用select OBJECT_NAME FROM USER_OBJECTS WHERE OBJECT_TYPE='FUNCTION';
或者select OBJECT_NAME FROM DBA_OBJECTS WHERE OBJECT_TYPE='FUNCTION';
或者select OBJECT_NAME FROM ALL_OBJECTS WHERE OBJECT_TYPE='FUNCTION';
函數(shù)的具體內(nèi)容的話:select TEXT FROM USER_SOURCE WHERE NAME=函數(shù)名;select TEXT FROM ALL_SOURCE WHERE NAME=函數(shù)名;select TEXT FROM DBA_SOURCE WHERE NAME=函數(shù)名;
工具sqlplus或者plsqldeveloper
方法一:sqlplus
①登錄用戶后,執(zhí)行下面語句查看當前用戶有哪些存儲過程:
select ?name from user_source where ?type='PROCEDURE';
或者:
select object_name from user_procedures;
或者:
select object_name from user_objects where object_type='PROCEDURE' ;
②找到你所要查詢的存儲過程名字后,執(zhí)行下面操作,可以看到存錯過程內(nèi)容:
select ?text from user_source where name ='xxxx';--(xxxx代表所要查詢的存儲過程名字)
------------------------------------------------
如果是函數(shù),類似的方法,只需要把PROCEDURE,換成FUNCTION即可
-----------------------------------------------
方法二:pl/sql developer
打開該工具后,在最左側(cè)可以看到如下截圖,選擇 My objects
然后選擇functions或者Procedures,找到想要查看的對象后,選中,鼠標右鍵,彈出一個選項頁,這里主要的幾個做一下介紹:
view:查看,不能編輯
edit:可以編輯
drop:刪除該存儲過程
test:執(zhí)行該存儲過程
Oracle提供了一些邏輯判斷函數(shù),這些函數(shù)可以在查詢中使用。
1. nvl :針對空值進行測試
函數(shù)原型為:NVL(testValue,SubstituteValue)
常見的用法是? Select?max(score) From SC Where Name=‘Jerry’
有時max(score)為空,也就是說Jerry并沒有考試記錄,這時我們用"No Record"標注一下:
Select NVL(max(score),"No Record") From SC;
還有一個NVL2函數(shù)跟其相似,函數(shù)原型為: NVL(testValue,SubValue1,SubValue2)
NVL2函數(shù)實現(xiàn)的是若testValue為NULL,返回SubValue1,否則返回SubValue2。
2.Decode函數(shù)
Decode函數(shù)的原型為: Decode(testValue, if1, then1, if2,then2.....else).
針對testValue進行測試,若testValue等于if1則返回then1,若testValue等于if2則返回then2,....若都沒有返回,剛返回else.?示例如下:
若我們用Decode可以這樣實現(xiàn):
SELECT class, course,
DECODE (student,
'A', 'Anco',
'B', 'Bily',
'C', 'Candy',
'D', 'Davi',
'E', 'Eve',
'F', 'Fion'
) AS en_name
FROM studentinfo
3. to_char函數(shù)功能,就是將數(shù)值型或者日期型轉(zhuǎn)化為字符型,轉(zhuǎn)換過程中可以進行格式化處理,函數(shù)原型較多,示例如下: