oracle 系統自帶幾個常用函式
今天給各位剛入門的oracle sql的朋友說一些系統自帶的常用函式,通過函式來實現某些效果會非常的省事便捷,函式可以用在適當的dml語句和查詢語句中。
我們今天所有的示例都為scott模式下的emp表,下面是該表的當前資料
一 substr()函式
說明
1.substr()函式為字串擷取函式
2.需要傳輸三個引數,分別是指定擷取字串,指定開始擷取位置,和擷取長度,來得出需要的結果
3.起始擷取位置都是從左開始數,如果想從右邊開始則需要在指定起始位置前面寫負號
4.無論從左還是右開始擷取,擷取位數始終是從指定位置從左往右數
5.如果指定的擷取個數大於原有的字元長度,則會從指定位置擷取到最後一位為止
基本語法
select substr(string [-]int,int) from tab;
示例1
通過擷取job欄位
預設從左邊開始第一個字元擷取,擷取3位
示例2
從右開始第二個字元,擷取3位
示例3
指定擷取長度大於字串剩餘長度
二、max()函式
說明
1.求出一列的最大值
2. 只需要傳入要計算的列名
3. 計算時候會自動拋開為null的值
4.只能傳入一列作為引數
基本語法
select max(col) from tab;
示例
求出最大的empno
三、min()函式
說明
1.求出一列的最小值
2.只需要傳入要計算的列名
3. 計算時候會自動拋開為null的值
4.只能傳入一列作為引數
基本語法
select min(col) from tab;
示例
求出最小的mgr列值
四、sysdate
說明
1.sysdate可以得出當前的系統時間,會精確到時分秒(當然這個系統顧名思義是系統上的時間,如果系統時間是錯的,那麼得出的也就是錯的)
2.sysdate 在where中使用的場景更多
3.如果查詢當前時間建議使用基表dual(用其他表也可以,但是會跟根據表中的行數而顯示多次)
基本語法
select sysdate from dual; 或 select * from tab where col=sysdate;
示例1
查詢當前系統時間
示例2
在where條件中使用
(查詢僱傭日期早與當前時間的員工資訊)
五、trunc()函式
說明
-
可以對數字和日期欄位進行擷取
-
對於數字擷取預設返回整數,對於時間擷取會捨去時分秒
-
必要傳入進行處理的時間或者數字格式的欄位或者字串,可選引數用來控制顯示結果
-
對於返回數字來說必須,要控制返回的小數必須為非0,否則不會顯示小數
-
對於數字來說,不會四捨五入
基本語法
select trunc(sysdate[,'yyyy'|,'mm'|,'dd']) from dual; 或 select trunc(col[,int]) from tab;
擷取時間示例
示例1
擷取當前時間
示例2
擷取當前時間返回該年第一天
示例3
擷取當前時間返回,該月第一天
示例3
擷取當前時間返回,該時間欄位的年月日,等同於不加任何引數
數字擷取示例
示例1
返回整數
示例2
保留一位小數
(由於小數一位小數正好是0,所以不會顯示小數結果)
正常的顯示結果
示例3
整數取捨
(將指定位數前加上符號,則會指定整數部分變成0)
六、to_date()
說明
-
將字串轉換成為時間格式
-
必須明確指定時間格式
-
字串或欄位值必須滿足指定的時間格式
-
在where條件中使用情況較多
基本語法
select to_date('xxxxxxxxxxxxxx','YYYY-MM-DD H24:MI:SS') from dual; 或 select to_date(col,'YYYY-MM-DD') from tab;
示例1
將字串轉換成為時間
七、to_char()
說明
-
將時間格式轉換成字串格式
-
可以指定轉換格式,在指定的格式必須滿足可以將日期轉換過來
-
在where條件中使用情況較多
基本語法
select to_char('xxxx-xx-xx xx:xx:xx') from dual; 或 select to_date(col,'YYYY-MM-DD') from tab;
示例
將emp的hiredate欄位轉換為字元
八、upper()
說明
將字串或者欄位值全部轉換為大寫
基本語法
select upper('xxxx') from dual; 或 select upper(col) from tab;
示例
轉換字串大寫
九、lower()
說明
將字串或者欄位值全部轉換為小寫
基本語法
select lower('xxxx') from dual; 或 select lower(col) from tab;
示例
將emp表的job欄位轉換為小寫
十、sum()
說明
-
求出數值欄位型別一列的總和
-
只能傳入一個欄位進行求和
基本語法
select sum(col) from tab;
示例
求出emp所有人的工資總和
十一 count()
說明
-
統計檢索結果的返回條數
-
根據不同的條件返回結果數不同,如果沒有條件則代表統計全表條數
基本語法
select count(*) from tab; 或 select count(*) from tab where col1>'xxxxx';
示例1
統計emp表總數
示例2
統計部門編號為20的所有員工數
十二、distinct
說明
-
消除一列中重複的值
-
可以有多個欄位,確保組合值是唯一的
基本語法
select distinct col [,col1,col2...] from tab;
示例1
消除emp表中mgr重複的
示例2
消除emp表中mgr和job重複的
十三、group by
說明
-
用來分組顯示,每個組和確保是唯一的
-
分組在查詢末尾用,查詢的欄位必須是分組的欄位
-
如果用來分組統計可以用having 來過濾統計結果
基本語法
select col1 [col2,col3...] from tab group by col1 [col2,col3...] [having....];
示例1
用來查詢分組emp表的mgr和job欄位
示例2
統計分組
(統計每個部門中有多少員工)
示例3
統計過濾
(按照上述統計過濾結果大於4的)
寫在最後,這些函式都是oracle自帶的一些常用的基本函式,通過函式得到我們想要的結果是非常便捷的。希望能跟各位朋友多交流oracle知識。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20893138/viewspace-2660804/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python 的幾個常用的函式Python函式
- Oracle常用函式Oracle函式
- oracle常用函式介紹Oracle函式
- 工作中,Oracle常用函式Oracle函式
- Kotlin中的幾個常用函式let with run also applyKotlin函式APP
- Python自帶的函式Python函式
- linux常用的幾個系統介紹Linux
- oracle Forms Builder常用函式 (轉載)OracleORMUI函式
- AppDelegate中幾個常用回撥函式的呼叫時機APP函式
- 瞭解React Hooks及其常用的幾個鉤子函式ReactHook函式
- Mysql系列第十講 常用的幾十個函式詳解MySql函式
- Manim 學習筆記(一)--常用的幾個函式和操作筆記函式
- 15個常用excel函式公式 excel函式辦公常用公式Excel函式公式
- oracle資料庫常用分析函式與聚合函式的用法Oracle資料庫函式
- Shell中常用的系統函式basename和dirname函式
- 核心函式 系統呼叫 系統命令 庫函式函式
- excel中最常用的30個函式 excel表格常用函式技巧大全Excel函式
- set容器幾個關鍵函式函式
- 快速介紹幾個JS函式JS函式
- 幾個重要的內建函式函式
- Python函數語言程式設計自帶函式Python函數程式設計函式
- Mysql 常用函式(1)- 常用函式彙總MySql函式
- DB2常用函式與Oracle比較TIDB2函式Oracle
- 100 個最常用的 PHP 函式PHP函式
- 100個PHP最常用的函式PHP函式
- 常用函式函式
- 使用Oracle自帶profile以及函式簡單設定Oracle使用者名稱密碼規則Oracle函式密碼
- oracle 函式Oracle函式
- oracle or 函式Oracle函式
- STM32呼叫C庫自帶函式函式
- 後來才知道的JavaScript自帶函式JavaScript函式
- 自帶的 print 函式居然會報錯?函式
- Kotlin的幾個擴充套件函式Kotlin套件函式
- 機器學習大牛最常用的5個迴歸損失函式,你知道幾個?機器學習函式
- MySQL函式大全(字串函式,數學函式,日期函式,系統級函式,聚合函式)MySql函式字串
- Oracle12C查詢自建使用者(非系統自帶)Oracle
- Mysql 常用函式(20)- ceiling 函式MySql函式
- Mysql 常用函式(15)- upper 函式MySql函式