/**************日期********************/\x0d\x0a1.select trunc(sysdate) from dual --2011-3-18 今天的日期為2011-3-18\x0d\x0a2.select trunc(sysdate, 'mm') from dual --2011-3-1 返回當(dāng)月第一天.\x0d\x0a3.select trunc(sysdate,'yy') from dual --2011-1-1 返回當(dāng)年第一天\x0d\x0a4.select trunc(sysdate,'dd') from dual --2011-3-18 返回當(dāng)前年月日\x0d\x0a5.select trunc(sysdate,'yyyy') from dual --2011-1-1 返回當(dāng)年第一天\x0d\x0a6.select trunc(sysdate,'d') from dual --2011-3-13 (星期天)返回當(dāng)前星期的第一天\x0d\x0a7.select trunc(sysdate, 'hh') from dual --2011-3-18 14:00:00 當(dāng)前時間為14:41 \x0d\x0a8.select trunc(sysdate, 'mi') from dual --2011-3-18 14:41:00 TRUNC()函數(shù)沒有秒的精確\x0d\x0a/***************數(shù)字********************/\x0d\x0a/*\x0d\x0aTRUNC(number,num_digits) \x0d\x0aNumber 需要截尾取整的數(shù)字。 \x0d\x0aNum_digits 用于指定取整精度的數(shù)字。Num_digits 的默認(rèn)值為 0。\x0d\x0aTRUNC()函數(shù)截取時不進(jìn)行四舍五入\x0d\x0a*/\x0d\x0a9.select trunc(123.458) from dual --123\x0d\x0a10.select trunc(123.458,0) from dual --123\x0d\x0a11.select trunc(123.458,1) from dual --123.4\x0d\x0a12.select trunc(123.458,-1) from dual --120\x0d\x0a13.select trunc(123.458,-4) from dual --0\x0d\x0a14.select trunc(123.458,4) from dual --123.458\x0d\x0a15.select trunc(123) from dual --123\x0d\x0a16.select trunc(123,1) from dual --123\x0d\x0a17.select trunc(123,-1) from dual --120
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:空間域名、虛擬主機(jī)、營銷軟件、網(wǎng)站建設(shè)、下陸網(wǎng)站維護(hù)、網(wǎng)站推廣。
可以用ceil()或floor()進(jìn)行取整,ceil()向上取整,floor()向下取整
如:select ceil(215.3),floor(215.3) from dual
結(jié)果 216 215
oracle 按等級取整
關(guān)于Oracle取整的函數(shù)分別有以下幾種:
1.取整(大)
select ceil(-1.001) value from dual
2.取整(?。?/p>
select floor(-1.001) value from dual
3.取整(截?。?/p>
select trunc(-1.002) value from dual
4.取整(舍入)
select round(-1.001) value from dual
上面有小數(shù),下面沒小數(shù),沒看出來有什么問題 你需要什么結(jié)果
如果余的小數(shù)想取整,那可以套個取整函數(shù) 進(jìn)ceil() 舍floor() 四舍五入round() 截取trunc()
ceil(x) 向上取整
floor(x) 向下取整
round(x,n) 當(dāng)n=0時就是取整,四舍五入法則
x是你的小數(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 其他
標(biāo)題名稱:oracle如何取整,oracle數(shù)據(jù)庫向上取整
網(wǎng)址分享:http://jinyejixie.com/article38/dsdjipp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、網(wǎng)站策劃、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)