首頁 資料庫 mysql教程 ORACLE 常用SQL函数

ORACLE 常用SQL函数

Jun 07, 2016 pm 03:21 PM
oracle sql 函數 常用

oracle中函数分为:字符类函数、数类函数、日期类函数、空处理函数、转换类函数、其他常用函数 这次主要整理几个ORACLE中常用到的SQL函数 如下: lower()函数 内容转换小写 SQL SELECT LOWER(T_NAME) FROM test_partitioning2; LOWER(T_NAME) ------------

oracle中函数分为:字符类函数、数值类函数、日期类函数、空值处理函数、转换类函数、其他常用函数

这次主要整理几个ORACLE中常用到的SQL函数 如下:

lower()函数 内容转换小写
SQL> SELECT LOWER(T_NAME) FROM test_partitioning2;
LOWER(T_NAME)
-------------
a
b
c
d
e
e
e
7 rows selected

upper()函数 内容抓换大写
SQL> SELECT UPPER(T_NAME) FROM test_partitioning2;
UPPER(T_NAME)
-------------
A
B
C
D
E
E
E
7 rows selected

ltrim()去除左右空格(前后各两空格)

SQL> select length(ltrim('  oracle  ')),length(ltrim('  oracle  ',' ')) from dual;
LENGTH(LTRIM('ORACLE')) LENGTH(LTRIM('ORACLE',''))
----------------------- --------------------------
                      8                          8
--ltrim中第二个参数没有指定参数,默认删除' '空格的字符,即与ltrim('  oracle  ',' ')效果相同;

ltrim删除字符串中指定字符
SQL> select ltrim('oracle','roc'),ltrim('lllearner','ale') from dual;
LTRIM('ORACLE','ROC') LTRIM('LLLEARNER','ALE')
--------------------- ------------------------
acle                  rner                   
--ltrim函数第二个参数不是以‘roc’作为整体删除的,而是以单个字符删除。碰到连续的字符将连续删除。      

rtrim()去除左右空格(前后各两空格) 

SQL> select length(rtrim('  oracle  ')),length(rtrim('  oracle  ',' ')) from dual;
LENGTH(RTRIM('ORACLE')) LENGTH(RTRIM('ORACLE',''))
----------------------- --------------------------
                      8                          8
SQL> select rtrim('oracle','e'),rtrim('learner','rle') from dual;
RTRIM('ORACLE','E') RTRIM('LEARNER','RLE')
------------------- ----------------------
oracl               learn
--作用同ltrim函数一样,只不过这是从右边往左边检索删除

trim()函数包括了ltrim()、rtrim()函数功能      
 语法:TRIM([LEADING | TRAILING| BOTH] [trim_char_from] 列明或表达式)
LEADING:表示从左边删除
TRAILING:右边删除
BOTH:两边同时删除(默认)
例子:
SQL> SELECT TRIM(LEADING '*' FROM '**oracle*') c1,TRIM(TRAILING '*' FROM '**oracle*') c2,TRIM(BOTH '*' FROM '**oracle*') c3,
  2  TRIM('*' FROM '**oracle*') c4,LENGTH(TRIM(' oracle')) c5 from dual
  3  ;
C1      C2       C3     C4             C5
------- -------- ------ ------ ----------
oracle* **oracle oracle oracle          6

length()与lengthb() 函数
两者都是返回长度,前者返回字符串长度,后者返回字节长度
SQL> select length('数据库'),lengthb('数据库') from dual;
   LENGTH('数据库')    LENGTHB('数据库')
---------------- -----------------
               3                 9

substr()与substrb() 函数

两个都是返回字符串的字串,后者按照字符返回


SQL> select substr('oracle',1,3) c1,substr('oracle',1,3) c2,substr('学习数据库',1,3) c3,substrb('学习数据库',1,3) from dual;
C1  C2  C3        SUBSTRB('学习数据库',1,3)
--- --- --------- -------------------------
ora ora 学习数    学

round()函数

功能将列明所表示的数值进行四舍五入,语法格式
ROUND(列明,X) X表示保留几个小数,不写默认为0,小数点后面四舍五入
例子:
SQL> select round(123.456) from dual;
--------------
           123
SQL>  select round(123.456) from dual;
ROUND(123.456)
--------------
           123
--round()函数还可以对日期类型数据进行处理

TRUNC()函数

功能:将列名所表示的数值进行截取,语法如下:
TRUNC(列名,x) x表示截取到小数点的第几位(不进行四舍五入),默认为0,如果x为负数,则表示从小数点左边第x位截取
SQL> select trunc(123456.78) from dual;   
TRUNC(123456.78)
----------------
          123456                                      
SQL> select trunc(123456.78,1) from dual;
TRUNC(123456.78,1)
------------------
          123456.7
                   
--trunc第二个参数为负数,表示从小数点左边截断,截断几位自动补0。 如下:          
SQL> select trunc(1234.567,-1) A,trunc(123456.789,-2) B,trunc(3456332.1,-4) C from dual;
         A          B          C
---------- ---------- ----------
      1230     123400    3450000  
--trunc函数也还可以对日期类型数据进行处理         
--trunc与round不同,round是小数点后面进行四舍五入,而trunc直接截断,这是两函数区别。

last_day()函数

功能:获取当前日期所在月的最后一天
SQL> select sysdate,last_day(sysdate) last_day from dual;
SYSDATE     LAST_DAY
----------- -----------
2013/10/20  2013/10/31

NVL()函数

功能:实现空值转换,根据一个表达式的值是否为空来判断返回相应列明或表达式。主要用于对空值进行处理,语法如下:
NVL(列名或表达式,列名或表达式)
如果第一个参数值返回空值,则返回第二个参数值,否则返回第一个参数值,第一第二参数值都可为任意类型值,但两个参数类型必须相同。

NVL2()函数NVL()函数扩展函数

功能也是对一个空值转换函数,如果第一个参数值不为空,则返回第二个参数值,否则返回第三个参数值。第一个参数可以为任意类型,


第二第三参数除LONG类型以外的任何类型。语法如下:
NVL2(列名或表达式,列名或表达式,列名或表达式)

TO_CHAR()函数

功能:将非字符数据转换为字符型数据,并设置字符的输出格式,语法如下:
TO_CHAR(列名或表达式,[格式],[NLS参数])
第一个参数:要指定转换列名
第二个参数:转换列名指定转换格式
第三个参数:显示格式国家语言支持参数,如不设置则使用默认NLS参数指定
SQL> SELECT TO_CHAR(1234567,'9,999,999') C1,TO_CHAR(123.456,'9999,9999') C2,TO_CHAR(12.466666,'9.99') C5 from dual;
C1         C2         C5
---------- ---------- -----
 1,234,567        123 #####
 
 #####:表示当整数部分的长度大于格式字符串中指定的长度时,则返回一个由#组成字符串
 
SQL> select to_char(systimestamp,'YYYY-MM-DD hh24:MI:SS') d1, to_char(systimestamp,'WW') d2,to_char(sysdate,'W') d3 from dual;
D1                  D2 D3
------------------- -- --
2013-10-20 20:56:58 42 3

TO_DATE(函数

功能:将字符型数据转换成日期型数据,并设置日期的输出格式,语法如下:
TO_CHAR(列名或表达式,[格式]),[NLS参数]
第一个参数:转换列名
第二个参数:指定转换后显示格式
第三个参数:显示格式国家语言支持参数,如不设置则使用默认NLS参数指定
SQL> select to_char(to_date('2013-10-20','yyyy-mm-dd'),'DAY') from dual;
TO_CHAR(TO_DATE('2013-10-20','
------------------------------
星期日

DECODE() 函数
功能:类似与高级语言中IF ELSE的分支语句
SELECT T_ID,T_NAME,T_RESEARCH,DECODE(T_TITLEID,1,'教授',2,'副教授',3,'其他') from dual;




本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

oracle打不開怎麼辦 oracle打不開怎麼辦 Apr 11, 2025 pm 10:06 PM

Oracle 打不開的解決辦法包括:1. 啟動數據庫服務;2. 啟動監聽器;3. 檢查端口衝突;4. 正確設置環境變量;5. 確保防火牆或防病毒軟件未阻止連接;6. 檢查服務器是否已關閉;7. 使用 RMAN 恢復損壞的文件;8. 檢查 TNS 服務名稱是否正確;9. 檢查網絡連接;10. 重新安裝 Oracle 軟件。

oracle游標關閉怎麼解決 oracle游標關閉怎麼解決 Apr 11, 2025 pm 10:18 PM

解決 Oracle 游標關閉問題的方法包括:使用 CLOSE 語句顯式關閉游標。在 FOR UPDATE 子句中聲明游標,使其在作用域結束後自動關閉。在 USING 子句中聲明游標,使其在關聯的 PL/SQL 變量關閉時自動關閉。使用異常處理確保在任何異常情況下關閉游標。使用連接池自動關閉游標。禁用自動提交,延遲游標關閉。

oracle怎麼循環創建游標 oracle怎麼循環創建游標 Apr 12, 2025 am 06:18 AM

Oracle 中,FOR LOOP 循環可動態創建游標, 步驟為:1. 定義游標類型;2. 創建循環;3. 動態創建游標;4. 執行游標;5. 關閉游標。示例:可循環創建游標,顯示前 10 名員工姓名和工資。

oracle數據庫怎麼停止 oracle數據庫怎麼停止 Apr 12, 2025 am 06:12 AM

要停止 Oracle 數據庫,請執行以下步驟:1. 連接到數據庫;2. 優雅關機數據庫(shutdown immediate);3. 完全關機數據庫(shutdown abort)。

HDFS配置CentOS需要哪些步驟 HDFS配置CentOS需要哪些步驟 Apr 14, 2025 pm 06:42 PM

在CentOS系統上搭建Hadoop分佈式文件系統(HDFS)需要多個步驟,本文提供一個簡要的配置指南。一、前期準備安裝JDK:在所有節點上安裝JavaDevelopmentKit(JDK),版本需與Hadoop兼容。可從Oracle官網下載安裝包。環境變量配置:編輯/etc/profile文件,設置Java和Hadoop的環境變量,使系統能夠找到JDK和Hadoop的安裝路徑。二、安全配置:SSH免密登錄生成SSH密鑰:在每個節點上使用ssh-keygen命令

oracle日誌寫滿怎麼辦 oracle日誌寫滿怎麼辦 Apr 12, 2025 am 06:09 AM

Oracle 日誌文件寫滿時,可採用以下解決方案:1)清理舊日誌文件;2)增加日誌文件大小;3)增加日誌文件組;4)設置自動日誌管理;5)重新初始化數據庫。在實施任何解決方案前,建議備份數據庫以防數據丟失。

甲骨文在商業世界中的作用 甲骨文在商業世界中的作用 Apr 23, 2025 am 12:01 AM

Oracle不僅是數據庫公司,還是雲計算和ERP系統的領導者。 1.Oracle提供從數據庫到雲服務和ERP系統的全面解決方案。 2.OracleCloud挑戰AWS和Azure,提供IaaS、PaaS和SaaS服務。 3.Oracle的ERP系統如E-BusinessSuite和FusionApplications幫助企業優化運營。

oracle動態sql怎麼創建 oracle動態sql怎麼創建 Apr 12, 2025 am 06:06 AM

可以通過使用 Oracle 的動態 SQL 來根據運行時輸入創建和執行 SQL 語句。步驟包括:準備一個空字符串變量來存儲動態生成的 SQL 語句。使用 EXECUTE IMMEDIATE 或 PREPARE 語句編譯和執行動態 SQL 語句。使用 bind 變量傳遞用戶輸入或其他動態值給動態 SQL。使用 EXECUTE IMMEDIATE 或 EXECUTE 執行動態 SQL 語句。

See all articles