日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle 中的除法函数,Oracle 函数

發布時間:2023/12/10 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle 中的除法函数,Oracle 函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Oracle 函數

1 數值型函數

abs:求絕對值函數,如:abs(?5) 5

sqrt:求平方根函數,如:sqrt(2) 1.41421356

power:求冪函數,如:power(2,3) 8

cos:求余弦三角函數,如:cos(3.14159) ?1

mod:求除法余數,如:mod(1600, 300) 100

ceil:求大于等于某數的最小整數,如:ceil(2.35) 3

floor:求小于等于某數的最大整數,如:floor(2.35) 2

round:按指定精度對十進制數四舍五入,如:round(45.923, 1),結果,45.9

round(45.923, 0),結果,46

round(45.923, ?1),結果,50

trunc:按指定精度截斷十進制數,如:trunc(45.923, 1),結果,45.9

trunc(45.923),結果,45

trunc(45.923, ?1),結果, 40

2 字符型函數

ascii:獲得字符的ASCII碼,如:Ascii('A') 65

chr:返回與ASCII碼相應的字符,如:Chr(65) A

lower:將字符串轉換成小寫,如:lower ('SQL Course') sql course

upper:將字符串轉換成大寫,如:upper('SQL Course') SQL COURSE

initcap:將字符串轉換成每個單詞以大寫開頭,如:initcap('SQL course') Sql Course

concat:連接兩個字符串 concat('SQL', ' Course') SQL Course

substr:給出起始位置和長度,返回子字符串,如:substr('String',1,3) Str

Sql代碼

1.

2. --substr函數有三個參數,允許你將目標字符串的一部份輸出,

3. --第一個參數為目標字符串,

4. --第二個字符串是將要輸出的子串的起點,下標從1開始,如果是正數從前面數,如果是負數從后面數

5. --第三個參數是將要輸出的子串的長度

6. select? substr('0'||'2',2)|| substr('0'||'15',-2) from dual; --215

7.? select? substr('0'||'2',2)|| substr('0'||'3',2) from dual;

8.?? --23 月日比較的話實際要的是203

9.?? --215 < 23 注意這里返回的是字符串的比較,

10.?? --所以如果日期轉換成月日比較的話

11.?? --這里日那里要寫成-2 substr('0'||'2',2)|| substr('0'||'3',-2)

12.?? select substr('123',4) from dual; -- 輸出空

--substr函數有三個參數,允許你將目標字符串的一部份輸出,

--第一個參數為目標字符串,

--第二個字符串是將要輸出的子串的起點,下標從1開始,如果是正數從前面數,如果是負數從后面數

--第三個參數是將要輸出的子串的長度

select? substr('0'||'2',2)|| substr('0'||'15',-2) from dual; --215

select? substr('0'||'2',2)|| substr('0'||'3',2) from dual;

--23 月日比較的話實際要的是203

--215 < 23 注意這里返回的是字符串的比較,

--所以如果日期轉換成月日比較的話

--這里日那里要寫成-2 substr('0'||'2',2)|| substr('0'||'3',-2)

select substr('123',4) from dual; --輸出空

length:求字符串的長度 length('Wellcom') 7

instr:給出起始位置和出現的次數,求子字符串在字符串中出現的位置,如:instr('String', 'r',1,1) 3

lpad:用字符填充字符串左側到指定長度,如:lpad('Hi',10,'-') --------Hi

rpad:用字符填充字符串右側到指定長度,如:rpad('Hi',10,'-') Hi--------

trim:在一個字符串中去除另一個字符串,如:trim('S' FROM 'SSMITH') MITH

replace:用一個字符串替換另一個字符串中的子字符串,如:replace('ABC', 'B', 'D') ADC

3 日期函數

months_between:返回兩個日期間的月份,如:months_between ('04-11月-05','11-1月-01'),結果,57.7741935

add_months:返回把月份數加到日期上的新日期,如:add_months('06-2月-03',1),結果,06-3月-03

add_months('06-2月-03',-1),結果,06-1月-03

next_day:返回指定日期后的星期對應的新日期,如:next_day('06-2月-03','星期一'),結果,10-2月-03

last_day:返回指定日期所在的月的最后一天,如:last_day('06-2月-03'),結果,28-2月-03

round:按指定格式對日期進行四舍五入,如:round(to_date('13-2月-03'),'YEAR'),結果,01-1月-03

round(to_date('13-2月-03'),'MONTH'),結果,01-2月-03

round(to_date('13-2月-03'),'DAY'),結果,16-2月-03

(按周四舍五入)

trunc:對日期按指定方式進行截斷,如:trunc(to_date('06-2月-03'),'YEAR'),結果,01-1月-03

trunc(to_date('06-2月-03'),'MONTH'),結果,01-2月-03

trunc(to_date('06-2月-03'),'DAY'),結果,02-2月-03

EXTRACT()抽取當前日期的年月日:注意時分秒是抽取不到的

Sql代碼

1. --EXTRACT()抽取當前日期的年月日:注意時分秒是抽取不到的

2.? --抽取年月日

3.? SELECT EXTRACT(YEAR FROM SYSDATE) FROM DUAL;? --2010

4.? SELECT EXTRACT(MONTH FROM SYSDATE) FROM DUAL; --2

5.? SELECT EXTRACT(DAY FROM SYSDATE) FROM DUAL;?? --24

6.? select EXTRACT(HOUR FROM SYSDATE) FROM DUAL; -- 這個是錯誤的

7.?? --抽取時分秒方法一

8. SELECT EXTRACT(HOUR FROM TIMESTAMP '2009-2-24 14:46:10')FROM DUAL;

9. --14

10. SELECT EXTRACT(MINUTE FROM TIMESTAMP '2009-2-24 14:46:10')FROM DUAL;

11. --46

12. SELECT EXTRACT(SECOND FROM TIMESTAMP '2009-2-24 14:46:10')FROM DUAL;

13. --10

14.? --抽取時分秒方法二

15.?? SELECT to_char(Sysdate,'hh24:mi') FROM DUAL; -- 14:49

--EXTRACT()抽取當前日期的年月日:注意時分秒是抽取不到的

--抽取年月日

SELECT EXTRACT(YEAR FROM SYSDATE) FROM DUAL;? --2010

SELECT EXTRACT(MONTH FROM SYSDATE) FROM DUAL; --2

SELECT EXTRACT(DAY FROM SYSDATE) FROM DUAL;?? --24

select EXTRACT(HOUR FROM SYSDATE) FROM DUAL; -- 這個是錯誤的

--抽取時分秒方法一

SELECT EXTRACT(HOUR FROM TIMESTAMP '2009-2-24 14:46:10')FROM DUAL;

--14

SELECT EXTRACT(MINUTE FROM TIMESTAMP '2009-2-24 14:46:10')FROM DUAL;

--46

SELECT EXTRACT(SECOND FROM TIMESTAMP '2009-2-24 14:46:10')FROM DUAL;

--10

--抽取時分秒方法二

SELECT to_char(Sysdate,'hh24:mi') FROM DUAL; -- 14:49

4 轉換函數

Oracle的類型轉換分為自動類型轉換和強制類型轉換。常用的類型轉換函數有TO_CHAR、TO_DATE或TO_NUMBER

To_char:轉換成字符串類型,如:To_char(1234.5, '$9999.9'),結果:$1234.5

To_date:轉換成日期類型,如:To_date('1980-01-01', 'yyyy-mm-dd'),結果:01-1月-80

To_number:轉換成數值類型,如:To_number('1234.5'),結果:1234.5

5 自動類型轉換

Oracle可以自動根據具體情況進行如下的轉換:

* 字符串到數值。

* 字符串到日期。

* 數值到字符串。

* 日期到字符串。

以下是自動轉換的訓練。

自動轉換字符型數據到數值型。

6 日期類型轉換

將日期型轉換成字符串時,可以按新的格式顯示。

如格式YYYY-MM-DD HH24:MI:SS表示“年-月-日 小時:分鐘:秒”。Oracle的日期類型是包含時間在內的。

主要的日期格式字符的含義

AM、PM:上午、下午,如:08 AM

D:數字表示的星期(1~7),如:1,2,3,4,5,6,7

DD:數字表示月中的日期(1~31),如:1,2,3,…,31

MM:兩位數的月份,如:01,02,…,12

Y、YY、YYY、YYYY 年份的后幾位,如:3,03,003,2003

RR:解決Y2K問題的年度轉換

DY:簡寫的星期名,如:MON,TUE,FRI,…

DAY:全拼的星期名,如:MONDAY,TUESDAY,…

MON:簡寫的月份名,如:JAN,FEB,MAR,…

MONTH:全拼的月份名,如:JANUARY,FEBRUARY,…

HH、HH12:12小時制的小時(1~12),如:1,2,3,…,12

HH24:24小時制的小時(0~23),如:0,1,2,…,23

MI:分(0~59),如:0,1,2,…,59

SS:秒(0~59),如:0,1,2,…,59

,./-;: 原樣顯示的標點符號

'TEXT':引號中的文本原樣顯示,如:TEXT

7 數值轉換符:

9:代表一位數字,如果是正數,前面是空格,如果是負數,前面是?號,如:9999

0:代表一位數字,在相應的位置上如果沒有數字則出現0 0000

,:逗號,用作組分隔符,如:99,999

.:小數點,分隔整數和小數,如:999.9

$:$貨幣符號,如:$999.9

L:本地貨幣符號,如:L999.99

FM:去掉前后的空格,如:FM999.99

EEEE:科學計數法,如:9.9EEEE

S:負數符號?放在開頭,如:S999.9

8 其他函數

nvl:空值轉換函數,如:nvl(null, '空'),結果:空

decode:實現分支功能,如:decode(1,1, '男', 2, '女'),結果:男

userenv:返回環境信息,如:userenv('LANGUAGE'),結果:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

greatest:返回參數的最大值,如:greatest(20,35,18,9),結果:35

least:返回參數的最小值,如:least(20,35,18,9),結果:9

9 空值的轉換

如果對空值NULL不能很好的處理,就會在查詢中出現一些問題。在一個空值上進行算術運算的結果都是NULL。最典型的例子是,在查詢雇員表時,將工資sal字段和津貼字段comm進行相加,如果津貼為空,則相加結果也為空,這樣容易引起誤解。

使用nvl函數,可以轉換NULL為實際值。該函數判斷字段的內容,如果不為空,返回原值;為空,則返回給定的值。

如下3個函數,分別用新內容代替字段的空值:

nvl(comm, 0):用0代替空的Comm值。

nvl(hiredate, '01-1月-97'):用1997年1月1日代替空的雇傭日期。

nvl(job, '無'):用“無”代替空的職務。

使用nvl函數轉換空值。

總結

以上是生活随笔為你收集整理的oracle 中的除法函数,Oracle 函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。