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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [php]幾個常用函式PHP函式
- oracle幾個函式Oracle函式
- 幾個常用函式的使用函式
- PostgreSQL核心自帶的Oracle相容函式SQLOracle函式
- oracle中的幾個hash函式Oracle函式
- Oracle 12個精簡常用函式Oracle函式
- oracle常用函式Oracle函式
- ORACLE 常用 函式Oracle函式
- oracle 常用函式Oracle函式
- C語言中使用系統自帶的快排函式C語言函式
- SAP常用系統函式歸納函式
- Oracle110個常用函式Oracle函式
- Oracle常用分析函式Oracle函式
- Oracle常用的函式Oracle函式
- Python自帶的函式Python函式
- 瞭解React Hooks及其常用的幾個鉤子函式ReactHook函式
- SQL的基本命令和幾個常用函式彙總SQL函式
- 解決中文問題的幾個常用的函式 (轉)函式
- linux常用的幾個系統介紹Linux
- oracle常用函式介紹Oracle函式
- Oracle常用函式總結Oracle函式
- oracle常用函式彙總Oracle函式
- 計算幾何常用的函式/方法函式
- Kotlin中的幾個常用函式let with run also applyKotlin函式APP
- Mysql系列第十講 常用的幾十個函式詳解MySql函式
- AppDelegate中幾個常用回撥函式的呼叫時機APP函式
- 15個常用excel函式公式 excel函式辦公常用公式Excel函式公式
- Oracle translate函式和正則的幾個應用Oracle函式
- Shell中常用的系統函式basename和dirname函式
- 工作中,Oracle常用函式Oracle函式
- Android系統自帶主題和樣式Android
- mysql幾個時間函式MySql函式
- 機器學習大牛最常用的5個迴歸損失函式,你知道幾個?機器學習函式
- 核心函式 系統呼叫 系統命令 庫函式函式
- 資料庫系統常用的幾個工具和命令資料庫
- excel中最常用的30個函式 excel表格常用函式技巧大全Excel函式
- oracle開發常用到的函式Oracle函式
- SQLServer和Oracle常用函式對比SQLServerOracle函式