首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle 字符函數實戰速查:大小寫、截取、替換、日期轉換、數值取整

     編輯:Oracle 資料庫基礎

Oracle 核心單行函數涵蓋字符、數值、日期、轉換四大類。本文以實戰案例為主線,串聯 LOWER/UPPER、SUBSTR/INSTR、TO_DATE、ROUND/TRUNC 等高頻函數,代碼即復制即運行。

一、字符函數實戰

需求SQL說明
姓名小寫顯示SELECT LOWER(ename) FROM emp;
姓名長度=5 的員工SELECT * FROM emp WHERE LENGTH(ename)=5;
截取第 2-4 字符SELECT SUBSTR(ename,2,3) FROM emp;SMITH → MIT
首字母大寫,其餘小寫SELECT UPPER(SUBSTR(ename,1,1)) || LOWER(SUBSTR(ename,2)) FROM emp;|| 為連接符
將 A 替換為 a(僅顯示)SELECT REPLACE(ename,'A','a') FROM emp;不修改數據

二、日期轉換:TO_DATE 靈活插入

INSERT INTO myemp VALUES (7903,'MORFLAME','ANALYST',7566,
  TO_DATE('1988-1-1','YYYY-MM-DD'), 2345.23, 555.55, 20);
-- 支持任意格式:TO_DATE('1988/1/1','YYYY/MM/DD') 亦可
-- 默認格式 'DD-MON-RR' (01-JAN-88) 可通過 NLS_DATE_FORMAT 修改

三、數值取整:ROUND vs TRUNC

函數SQL結果說明
ROUNDROUND(2345.23)2345四捨五入至整數
ROUND(2345.23, 1)2345.2保留 1 位小數
ROUND(555.55, -1)560十位四捨五入
TRUNCTRUNC(555.55, 1)555.5直接截斷 1 位小數
TRUNC(555.55, -1)550十位截斷
TRUNC(555.55)555截斷至整數

四、其他常用數值函數

  • CEIL(n):≥ n 的最小整數(CEIL(555.55)=556)
  • FLOOR(n):≤ n 的最大整數(FLOOR(555.55)=555)
  • MOD(m,n):取模(MOD(12,3)=0)
  • ABS(n):絕對值(ABS(-3)=3)

五、空值處理:NVL

NVL(comm, 0)           -- 數值為空轉 0
NVL(hiredate, DATE '1997-01-01')  -- 日期為空轉默認值
NVL(job, 'No Job Yet') -- 字符為空轉默認值
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved