查找位置的函數(shù)為instr函數(shù)。下標(biāo)以1開始,如果不存在則返回0。

徽州網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,徽州網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為徽州千余家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營(yíng)銷網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的徽州做網(wǎng)站的公司定做!
舉例如下:
1、創(chuàng)建測(cè)試表,
create table test_instr(str varchar2(20));
2、插入測(cè)試數(shù)據(jù)
insert into test_instr values ('abc');
insert into test_instr values ('cdaf');
insert into test_instr values ('bbed');
3、查詢表的記錄,select t.*, rowid from test_instr t;
4、編寫sql,查找字母'a'在表中各記錄的位置;
select t.*, instr(str,'a') location from test_instr t,可以發(fā)現(xiàn),最后一條記錄,不存在該字符的話,則返回0。
接收字符返回字符或數(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,第一個(gè)參數(shù)為字符串,第二個(gè)參數(shù)是索引,第三個(gè)參數(shù)結(jié)束索引(開始索引使用0和1效果一樣)
substr(hello,0,3) 結(jié)果為hel
6、獲取字符串長(zhǎng)度
length(“hello”)
7、字符串替換,第二個(gè)參數(shù)為被替換的字符串,第三個(gè)是替換的字符串
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ù)
獲取兩個(gè)時(shí)間段的月數(shù)使用months_between(sysdate,入職日期)
3、獲取幾個(gè)月后的日期:add_months()
如:獲取員工三個(gè)月后的日期
add_months(sysdate,3)
4、如求出下星期一是什么時(shí)候
指定給出下次某日期數(shù)next_date()
next_date(sysdate,“星期一”)
5、求日期的最后一天last_day()
求出本月的最后一天
last_day(sysdate)
1、to_char字符串轉(zhuǎn)換函數(shù)
如:將所有員工的入職日期的年、月分開
注:在劃分時(shí)需要通配符
年:yyyy? 月:mm? 日:dd
時(shí):HH 分:mi? 秒:ss
定義時(shí)間格式
to_char(sysdate,“yyyy-mm-dd HH24:mi:ss”)
在10以下的月數(shù)前面會(huì)默認(rèn)加上前導(dǎo)零,去除加上fm
to_char(sysdate,“fmyyyy-mm-dd HH24:mi:ss”)
to_char還可以給數(shù)字做格式化
如將員工的工資按三位“,”分隔
to_char(工資,“99,999”) 9代表數(shù)字
如果想在錢上加上國(guó)家符號(hào)
美元使用
中文使用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
如果在查詢的時(shí)候存在空值的情況可以使用
nvl(comm,0) 當(dāng)comm的列值為空時(shí),用0代替
2、decode函數(shù)
該函數(shù)類似于if ...else if ...else
語(yǔ)法:decode(列名/值,search1,result1,search2,result2,default)
decode(中國(guó),中國(guó),我是中國(guó),美國(guó),我是美國(guó),其他)
如果為中國(guó)返回我是中國(guó),為美國(guó)返回我是美國(guó),為其他字符則返回其他。
3、case when 與decode差不多
語(yǔ)法 case when city=中國(guó) then 我是中國(guó)
? ? ? ? ? when city=美國(guó) then 我是美國(guó)
? ? ? ? ? ? else 其他
在user_objects里面,里面還存儲(chǔ)了其他對(duì)象,通過object_type區(qū)分.
select object_name from user_objects
where object_type='FUNCTION';
這樣就能看到函數(shù)名稱了.
當(dāng)然,跟別的一樣,也有對(duì)應(yīng)的all_objects,dba_objects.
1、安裝oracle后,運(yùn)行程序,輸入用戶名等信息登錄。
2、下面演示sysdate的用法,這個(gè)是oracle獨(dú)有的,取當(dāng)前時(shí)間。
3、下面介紹to_char()函數(shù)的用法,將時(shí)間轉(zhuǎn)化為特定的格式。
4、下面介紹一種將時(shí)間轉(zhuǎn)化為漢字形式的時(shí)間格式及顯示出星期。
5、下面演示to_date函數(shù)的使用方法,將字符串轉(zhuǎn)換為標(biāo)準(zhǔn)的時(shí)間格式。
可以用如下語(yǔ)句查看用戶自定義的資源,如函數(shù)、存儲(chǔ)過程:
SELECT?*?FROM??USER_PROCEDURES;
查到概況后根據(jù)對(duì)象名字可以查看其源碼:
SELECT?*?FROM?USER_SOURCE?WHERE?NAME?=?'COMPUTERFEE';
Oracle查詢用戶表空間:select * from user_all_tables
Oracle查詢所有函數(shù)和儲(chǔ)存過程:select * from user_source
Oracle查詢所有用戶:select * from all_users.select * from dba_users
Oracle查看當(dāng)前用戶連接:select * from v$Session
Oracle查看當(dāng)前用戶權(quán)限:select * from session_privs
表空間含義:
表空間是數(shù)據(jù)庫(kù)的邏輯劃分,一個(gè)表空間只能屬于一個(gè)數(shù)據(jù)庫(kù)。所有的數(shù)據(jù)庫(kù)對(duì)象都存放在指定的表空間中。但主要存放的是表, 所以稱作表空間。
Oracle數(shù)據(jù)庫(kù)中至少存在一個(gè)表空間,即SYSTEM的表空間。
本文標(biāo)題:oracle函數(shù)怎么查詢,oracle函數(shù)查詢結(jié)果轉(zhuǎn)為json
分享鏈接:http://chinadenli.net/article27/dsidgjj.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、外貿(mào)建站、軟件開發(fā)、網(wǎng)站內(nèi)鏈、ChatGPT、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)