首页
/
每日頭條
/
科技
/
oracle 函數用法
oracle 函數用法
更新时间:2025-07-12 12:49:13
在oracle數據庫中,函數有聚合函數、單行函數、開窗函數等等,其中在sql語句編輯計算過程中,單行函數的使用頻率又尤為突出。

所以今天我們一起來看看單行函數在oracle中有哪些是比較常見常用的。

一、數字類型

進行數字絕對值的求值:abs()

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)1

例如,查看emp表裡面,有設置獎金的員工裡面,獎金和工資之間的絕對值差距是多少?

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)2

對數字進行四舍五入:round(n, 保留的小數精度)

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)3

對數字進行截取:trunc(n, 保留的小數精度)

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)4

進行數字的向上取整:ceil() 找比自己大的最近的這個整數

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)5

進行數字的向下取整:floor() 找比自己小的最近的這個整數

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)6

進行數字的幂運算:power(n, 次方) 數字的多少次方

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)7

進行數字的取餘數運算:mod(被除數, 除數) 除法運算的餘數,經常用來判斷倍數關系

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)8

二、字符串類型

進行字符串的截取:substr()

1. substr(s, 開始序号, 連續長度)

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)9

查詢首字母是A開頭的員工名字

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)10

查詢倒數第二個字母是E的員工名字

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)11

2. substr(s, 開始序号) 沒有連續的長度,默認就是從開始一直取到最後一個

查詢名字的最後三個字母是 NES 的員工名字

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)12

字符串的拼接:concat(s1, s2) concat()函數隻能拼接兩個内容

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)13

如果要在兩個内容中間,需要加上符号,用三個内容拼接起來一個字符串,那麼就需要使用concat()函數的嵌套了。

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)14

在oracle裡面,拼接一般使用 || 進行。

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)15

查詢字符串的長度:length()

查詢名字的長度剛好是5個字母的員工信息

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)16

将字符串轉換成小寫:lower()

将字符串轉換成大寫:upper()

将字符串轉換成首字母大寫其他字母小寫:initcap()

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)17

使用上面學過的函數,嵌套一個新的功能出來,查詢員工的名字,最後一個字母大寫,其他字母小寫。

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)18

在一個大的字符串裡面,查找是否有包含另一個字符或者字符串,返回找到的字符在大的字符串中的位置:instr()

1. instr(s, '查找的内容')

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)19

隻會返回遇到的第一個匹配值,如果沒有匹配,就返回0。

2. instr(s, '查找的内容', 從第幾個序号開始查找, 找第幾個匹配的内容)

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)20

3. 我們放到一個筆試題裡面看看 instr() 函數的使用:

下面的表格,每一行都由省-市-區組成,現在我們需要取出每行中間城市的名稱。

create table addrs(

addr varchar2(50)

);

insert into addrs values('廣東省-深圳市-羅湖區');

insert into addrs values('新疆維吾爾自治區-伊犁市-烏魯木齊');

insert into addrs values('湖南省-長沙市-天心區');

commit;

我們使用instr()查找第一個和第二個分隔符的位置,再使用substr()進行截取就好了。

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)21

字符串的替換方法:replace(s, '舊字符', '新字符')

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)22

取出名字裡面所有的A

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)23

删除某個指定範圍的數據:translate(s, '要被替換的很多個舊字符' , ' ')

例如下面這個題目,我們有很多個用戶名username,我們需要找出包含了數字的有哪些。

create table user_inf2(

userid number,

username varchar2(50)

);

insert into user_inf2 values(1,'ieiuefjdkk');

insert into user_inf2 values(2,'ifjsk13234');

insert into user_inf2 values(3,'5634kjdfkl12');

insert into user_inf2 values(4,'9883475');

insert into user_inf2 values(5,'872176lkgkj');

我們将數字都去掉,然後查看和原字符串不相同的數據即可。

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)24

正則表達式的數據替換方法:regexp_replace(s, '正則表達式', '新的内容')

這個用正則的替換方法同樣可以實現。

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)25

舉一個正則表達式的例子:

我們要删除下面這個表格中,所有城市名字前面的數字序号。

create table user_inf3(

userid number,

addr varchar2(100)

);

insert into user_inf3 values(1,'1:深圳,2:廣州');

insert into user_inf3 values(2,'1:北京,2:上海,3:杭州');

insert into user_inf3 values(3,'1:武漢,2:武漢2');

數字範圍[0-9]也可以使用 \d 進行替換。

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)26

三、時間日期類型

獲取當前的時間日期:sysdate current_date

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)27

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)28

獲取查看日期所在的月份的最後一天:last_day()

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)29

查看日期之間的月份間隔:months_between()

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)30

月份的偏移查詢:add_months() 在這個日期的基礎上,往前或者往後移動N個月

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)31

日期天數的間隔計算,直接用 減法 :

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)32

進行日期天數的偏移查詢:

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)33

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)34

日期 數字截取的函數 trunc() ,實現日期的截斷:

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)35

日期截取的維度:

yyyy 年

mm 月

dd 天

hh24 小時

mi 分鐘

day 周

一個實際的練習:

顯示一個永遠是明天早上十點的時間:

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)36

四、數據類型轉換

将一個純數字組成的字符串轉換成數字類型:to_number()

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)37

将一個數字類型或者日期類型轉換成字符串類型:to_char()

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)38

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)39

将時間日期格式的字符串 轉換成日期類型:to_date()

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)40

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)41

時間提取的維度有:

yyyy 年

mm 月

dd 日

hh24 時

mi 分

ss 秒

day 周

練習:

查詢emp表中,每一年分别有多少員工入職?

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)42

查詢emp表中,每個員工入職了多少年零多少月?

oracle 函數用法(ORACLE數據庫中常見的單行函數的使用和操作)43

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
京東節能補貼是什麼意思
京東節能補貼是什麼意思
國家針對特定型号的節能電器予以支持,如果用戶購買這種電器,國家會将補貼款返給京東,京東再返給用戶,即為“節能補貼”。北京市政府提出針對部分在京人員(包括京籍人員、居住證、暫住證、駐京軍人)實行三年内首次購買享受家電節能補貼,即針對特定品類的商品,在自營電商平台及線下實體店鋪,購買享受減免相應百分比金額。如何購買:選擇符合條件的商品通過“參加節能補貼”
2025-07-12
打印機反應慢怎麼解決
打印機反應慢怎麼解決
1、檢查墨盒。從打印機上取下墨盒。用潔淨、柔軟、無絨的抹布清潔墨盒背面的黃色觸點。按一下播放按鈕,便...
2025-07-12
wps文檔批注顯示不出來
wps文檔批注顯示不出來
演示機型:華為MateBookX系統版本:win10APP版本:WPS20181、打開或者創建數據文件,選中一段内容,點擊文檔頂端工具欄插入、批注。批注插入後,批注框并未顯示。2、點擊工具欄審閱、顯示标記、使用批注框,将在批注框中顯示修訂内容勾上。3、完成設置後,即可看到批注框,也可以在框内添加文字說明。WPS表格的應用小技巧:打開需要編輯的Excel文檔,裡面有需要變換的RMB金額。選中需要變換
2025-07-12
綠鑽豪華版微信自動續費是什麼意思
綠鑽豪華版微信自動續費是什麼意思
綠鑽豪華版微信自動續費是每月會自動繳費,就不需要用戶自己每月自己繳費。方便快捷的幫助用戶進行繳費,不用自己操作。QQ綠鑽又名網典音樂會員,是騰訊公司的一種增值業務,主要支持高品質mp3免費下載,于2008年7月22日推行。QQ綠鑽讓用戶充分享受QQ音樂播放器(收看MV、高品質大碟、綠鑽無廣告等)、QQ空間音樂盒服務(空間背景音樂、MV秀、免費播放器等)、QQ客戶端服務(音樂分享)等特權,為熱愛音樂
2025-07-12
u盤格式化後數據恢複方法教程
u盤格式化後數據恢複方法教程
1、打開DiskGenius軟件,選中被格式化的U盤,然後點擊恢複文件按鈕。2、點擊開始按鈕,讓軟件...
2025-07-12
Copyright 2023-2025 - www.tftnews.com All Rights Reserved