oracle中如何取整,oracle怎么取整

oracle 怎么向下取整

ceil(x) 向上取整

創(chuàng)新互聯(lián)公司成立于2013年,是專(zhuān)業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元蓬溪做網(wǎng)站,已為上家服務(wù),為蓬溪各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話(huà):18980820575

floor(x) 向下取整

round(x,n) 當(dāng)n=0時(shí)就是取整,四舍五入法則

x是你的小數(shù)

oracle 按等級(jí)取整

oracle 按等級(jí)取整

關(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

oracle查詢(xún)出來(lái)的數(shù)據(jù)默認(rèn)取整怎么改

上面有小數(shù),下面沒(méi)小數(shù),沒(méi)看出來(lái)有什么問(wèn)題 你需要什么結(jié)果

如果余的小數(shù)想取整,那可以套個(gè)取整函數(shù) 進(jìn)ceil() 舍floor() 四舍五入round() 截取trunc()

Oracle函數(shù)的使用

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

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

select supper(“smi”) form dual

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

lower(“SMI”)

3、首字母大寫(xiě)

initcap(“smi”)

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

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

5、字符串的截取,使用substr,第一個(gè)參數(shù)為字符串,第二個(gè)參數(shù)是索引,第三個(gè)參數(shù)結(jié)束索引(開(kāi)始索引使用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、如:查詢(xún)員工進(jìn)入公司的走數(shù)

(sysdate - 入職日期)/7

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

2、查詢(xún)所有員工進(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ù)

如:將所有員工的入職日期的年、月分開(kāi)

注:在劃分時(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ù)字

如果想在錢(qián)上加上國(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)換成日期類(lèi)型

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

1、空值處理 nvl

如果在查詢(xún)的時(shí)候存在空值的情況可以使用

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

2、decode函數(shù)

該函數(shù)類(lèi)似于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 其他

學(xué)習(xí)oracle

SQLServer和Oracle的常用函數(shù)對(duì)比

1.絕對(duì)值

S:select abs(-1) value

O:select abs(-1) value from dual

2.取整(大)

S:select ceiling(-1.001) value

O:select ceil(-1.001) value from dual

3.取整(?。?/p>

S:select floor(-1.001) value

O:select floor(-1.001) value from dual

4.取整(截?。?/p>

S:select cast(-1.002 as int) value

O:select trunc(-1.002) value from dual

5.四舍五入

S:select round(1.23456,4) value 1.23460

O:select round(1.23456,4) value from dual 1.2346

6.e為底的冪

S:select Exp(1) value 2.7182818284590451

O:select Exp(1) value from dual 2.71828182

7.取e為底的對(duì)數(shù)

S:select log(2.7182818284590451) value 1

O:select ln(2.7182818284590451) value from dual; 1

8.取10為底對(duì)數(shù)

S:select log10(10) value 1

O:select log(10,10) value from dual; 1

9.取平方

S:select SQUARE(4) value 16

O:select power(4,2) value from dual 16

10.取平方根

S:select SQRT(4) value 2

O:select SQRT(4) value from dual 2

11.求任意數(shù)為底的冪

S:select power(3,4) value 81

O:select power(3,4) value from dual 81

12.取隨機(jī)數(shù)

S:select rand() value

O:select sys.dbms_random.value(0,1) value from dual;

13.取符號(hào)

S:select sign(-8) value -1

O:select sign(-8) value from dual -1

----------數(shù)學(xué)函數(shù)

14.圓周率

S:SELECT PI() value 3.1415926535897931

O:不知道

15.sin,cos,tan 參數(shù)都以弧度為單位

例如:select sin(PI()/2) value 得到1(SQLServer)

16.Asin,Acos,Atan,Atan2 返回弧度

17.弧度角度互換(SQLServer,Oracle不知道)

DEGREES:弧度-〉角度

RADIANS:角度-〉弧度

---------數(shù)值間比較

18. 求集合最大值

S:select max(value) value from

(select 1 value

union

select -2 value

union

select 4 value

union

select 3 value)a

O:select greatest(1,-2,4,3) value from dual

19. 求集合最小值

S:select min(value) value from

(select 1 value

union

select -2 value

union

select 4 value

union

select 3 value)a

O:select least(1,-2,4,3) value from dual

20.如何處理null值(F2中的null以10代替)

S:select F1,IsNull(F2,10) value from Tbl

O:select F1,nvl(F2,10) value from Tbl

--------數(shù)值間比較

21.求字符序號(hào)

S:select ascii('a') value

O:select ascii('a') value from dual

22.從序號(hào)求字符

S:select char(97) value

O:select chr(97) value from dual

23.連接

S:select '11'+'22'+'33' value

O:select CONCAT('11','22')||33 value from dual

23.子串位置 --返回3

S:select CHARINDEX('s','sdsq',2) value

O:select INSTR('sdsq','s',2) value from dual

23.模糊子串的位置 --返回2,參數(shù)去掉中間%則返回7

S:select patindex('%d%q%','sdsfasdqe') value

O:oracle沒(méi)發(fā)現(xiàn),但是instr可以通過(guò)第四霾問(wèn)?刂瞥魷執(zhí)問(wèn)?BR select INSTR('sdsfasdqe','sd',1,2) value from dual 返回6

24.求子串

S:select substring('abcd',2,2) value

O:select substr('abcd',2,2) value from dual

25.子串代替 返回aijklmnef

S:SELECT STUFF('abcdef', 2, 3, 'ijklmn') value

O:SELECT Replace('abcdef', 'bcd', 'ijklmn') value from dual

26.子串全部替換

S:沒(méi)發(fā)現(xiàn)

O:select Translate('fasdbfasegas','fa','我' ) value from dual

27.長(zhǎng)度

S:len,datalength

O:length

28.大小寫(xiě)轉(zhuǎn)換 lower,upper

29.單詞首字母大寫(xiě)

S:沒(méi)發(fā)現(xiàn)

O:select INITCAP('abcd dsaf df') value from dual

30.左補(bǔ)空格(LPAD的第一個(gè)參數(shù)為空格則同space函數(shù))

S:select space(10)+'abcd' value

O:select LPAD('abcd',14) value from dual

31.右補(bǔ)空格(RPAD的第一個(gè)參數(shù)為空格則同space函數(shù))

S:select 'abcd'+space(10) value

O:select RPAD('abcd',14) value from dual

32.刪除空格

S:ltrim,rtrim

O:ltrim,rtrim,trim

33. 重復(fù)字符串

S:select REPLICATE('abcd',2) value

O:沒(méi)發(fā)現(xiàn)

34.發(fā)音相似性比較(這兩個(gè)單詞返回值一樣,發(fā)音相同)

S:SELECT SOUNDEX ('Smith'), SOUNDEX ('Smythe')

O:SELECT SOUNDEX ('Smith'), SOUNDEX ('Smythe') from dual

SQLServer中用SELECT DIFFERENCE('Smithers', 'Smythers') 比較soundex的差

返回0-4,4為同音,1最高

--------------日期函數(shù)

35.系統(tǒng)時(shí)間

S:select getdate() value

O:select sysdate value from dual

36.前后幾日

直接與整數(shù)相加減

37.求日期

S:select convert(char(10),getdate(),20) value

O:select trunc(sysdate) value from dual

select to_char(sysdate,'yyyy-mm-dd') value from dual

38.求時(shí)間

S:select convert(char(8),getdate(),108) value

O:select to_char(sysdate,'hh24:mm:ss') value from dual

39.取日期時(shí)間的其他部分

S:DATEPART 和 DATENAME 函數(shù) (第一個(gè)參數(shù)決定)

O:to_char函數(shù) 第二個(gè)參數(shù)決定

參數(shù)---------------------------------下表需要補(bǔ)充

year yy, yyyy

quarter qq, q (季度)

month mm, m (m O無(wú)效)

dayofyear dy, y (O表星期)

day dd, d (d O無(wú)效)

week wk, ww (wk O無(wú)效)

weekday dw (O不清楚)

Hour hh,hh12,hh24 (hh12,hh24 S無(wú)效)

minute mi, n (n O無(wú)效)

second ss, s (s O無(wú)效)

millisecond ms (O無(wú)效)

----------------------------------------------

40.當(dāng)月最后一天

S:不知道

O:select LAST_DAY(sysdate) value from dual

41.本星期的某一天(比如星期日)

S:不知道

O:SELECT Next_day(sysdate,7) vaule FROM DUAL;

42.字符串轉(zhuǎn)時(shí)間

S:可以直接轉(zhuǎn)或者select cast('2004-09-08'as datetime) value

O:SELECT To_date('2004-01-05 22:09:38','yyyy-mm-dd hh24-mi-ss') vaule FROM DUAL;

43.求兩日期某一部分的差(比如秒)

S:select datediff(ss,getdate(),getdate()+12.3) value

O:直接用兩個(gè)日期相減(比如d1-d2=12.3)

SELECT (d1-d2)*24*60*60 vaule FROM DUAL;

44.根據(jù)差值求新的日期(比如分鐘)

S:select dateadd(mi,8,getdate()) value

O:SELECT sysdate+8/60/24 vaule FROM DUAL;

45.求不同時(shí)區(qū)時(shí)間

S:不知道

O:SELECT New_time(sysdate,'ydt','gmt' ) vaule FROM DUAL;

-----時(shí)區(qū)參數(shù),北京在東8區(qū)應(yīng)該是Ydt-------

AST ADT 大西洋標(biāo)準(zhǔn)時(shí)間

BST BDT 白令海標(biāo)準(zhǔn)時(shí)間

CST CDT 中部標(biāo)準(zhǔn)時(shí)間

EST EDT 東部標(biāo)準(zhǔn)時(shí)間

GMT 格林尼治標(biāo)準(zhǔn)時(shí)間

HST HDT 阿拉斯加—夏威夷標(biāo)準(zhǔn)時(shí)間

MST MDT 山區(qū)標(biāo)準(zhǔn)時(shí)間

NST 紐芬蘭標(biāo)準(zhǔn)時(shí)間

PST PDT 太平洋標(biāo)準(zhǔn)時(shí)間

YST YDT YUKON標(biāo)準(zhǔn)時(shí)間

oracle中計(jì)算如何取余

1、?在計(jì)算機(jī)中,打開(kāi)Oracle的連接程序,用新建的數(shù)據(jù)庫(kù)管理員,選擇【SQL工作表】。

2、?? 接著,在【Oracle服務(wù)器】的窗口上,在輸入窗口中輸入SQL查詢(xún)語(yǔ)句,并單擊【執(zhí)行】按鈕,可以看到表格當(dāng)前的數(shù)據(jù)。

3、?然后,在【SQL工作表】的窗口上,輸入取子串函數(shù)的SQL語(yǔ)句,可以作為參考。

4、接著,在【SQL工作表】的窗口上,輸入取子串函數(shù)的SQL語(yǔ)句,并單擊【執(zhí)行】按鈕。

5、?然后,在【SQL工作表】的窗口上,可以看到表格顯示的數(shù)據(jù)。

6、最后,在【SQL工作表】的窗口上,修改取子串函數(shù)的參數(shù),執(zhí)行SQL語(yǔ)句,就完成了。

當(dāng)前題目:oracle中如何取整,oracle怎么取整
標(biāo)題鏈接:http://muchs.cn/article12/hchodc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、網(wǎng)站設(shè)計(jì)公司、電子商務(wù)、自適應(yīng)網(wǎng)站、面包屑導(dǎo)航、全網(wǎng)營(yíng)銷(xiāo)推廣

廣告

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

成都定制網(wǎng)站建設(shè)