Oracle 單行函式

2022-08-28 15:27:14 字數 3086 閱讀 3229

round()四捨五入

trunc()擷取

abs()求絕對值

mod()求餘數

length()長度

upper()全部轉化位大寫

lower()全部轉化為小寫

initcap()全部轉化為首字母大寫

lpad()從左邊補全

rpad()從右邊補全

ltrim()從左邊擷取

rtrim()從右邊擷取

instr()查詢指定字串下標

substr()獲取從指定下標開始的字串

replace()替換

translate()轉換

(1). 數字 / 字元 / 字串操作

【 返回 'hello''的大寫字串】

selectupper(『hello』) from dual;

【 返回 ''hello'的首字母是大寫的字串】

selectinitcap(『hello』)from dual;

【返回'tianqizhenhao' 該字串的後7 個字元】

selectsubstr(『tianqizhenhao』,-7,7) from dual;

(2).日期操作

1. 顯示41號部門員工 姓名, 進入公司的天數,年數,月份數,星期數【分別加上中文別名】

select  e.first_name 姓名,

sysdate -  e.hiredate天數,

months_between(sysdate,e.hiredate) 月數,

(months_between(sysdate,e.hiredate))/12年分數

froms_emp  e

wheree.deptno = 41;

-- 2. 顯示當前時間

selectsysdate from dual ;

(3).轉換函式

【獲得當前年份,月份,日期  [ char]】

select

to_char(sysdate,'yyyy') 年份,

to_char(sysdate,'mm') 月份,

to_char(sysdate,'dd') 日期

from dual

select  to_char(sysdate,'yyyy/mm/dd hh24:mi:ss') from dual

【將'2011-09-12 '  轉換成 date 型別】

selectto_date('2011-09-12','yyyy-mm-dd') from dual

【 獲得字串 '2011-09-12 ' 的月份】

select  to_number(to_char( to_date('2010-09-18','yyyy-mm-dd') , 'mm')) from dual

【獲得 8732034.56 用如下形式表示: 8,732,034.56】 

select  to_char( 8732034.56,'9,999,999.99') from dual

【獲得 8732034.56 用如下形式表示: $8,732,034.56】 

select  to_char( 8732034.56,'$9,999,999.99') from dual

decode(a,b,c,d,e,f,g,h)

如果a=b,輸出c;

如果a=d,輸出e;

如果a=f,輸出g;

如果b,d,f都不滿足a,輸出h.

【輸出顯示每個訂單編號及支付方式,支付方式要麼是現金,要麼是信用卡,否則就是未知數。】

select id,decode(payment_type,'cash','現金','credit','信用卡','未知數' )

froms_ord;

【請把員工工資分為3等,超過2000員的為高等在1500到2000之間的為中等,低於1500的為低等】

select first_name 員工名

case

when salary<1500 then '低等'

when salary>=1500 and salary<2000 then '中等'

when salary>=2000 then '高等'

end 工資等級

froms_emp;

注意:case後面是否出現列名,取決於when後面條件是否出現比較列

如果when後面已經出現列名,那case後面務必不能寫列名,

如果when後面是值,那麼必須在case後面指定列名,否則無法確定所給的值的真正含義

oracle單行函式

1.字元函式 upper 全大寫 lower 全小寫 initcap 首字母大寫 length 取長度 substr 擷取字串 replace 替換 2.數值函式 round 四捨五入 trunc 擷取 mod 取餘 3.日期函式 當前日期 sysdate 日期 數字 日期 日期 數字 日期 日期 ...

oracle單行函式

單行函式 函式類別 單行 返回單個結果 substr,length 多行 返回多個結果,any,all 單行的分類 字元類,日期類,數字類,轉換類,通用類 1.字元類 轉換大小寫 lower 轉換為小寫 select ename,lower ename from emp upper 轉換為大寫 se...

Oracle單行函式

單行函式 運算元據物件,接受引數返回乙個結果,只對一行進行變換,每行返回乙個結果,可以轉換資料型別,可以巢狀,引數可以是一列或乙個值 一 字元函式 concat 字串連線,相當於 initcap 將引數的第乙個字母變為大寫 lower 將引數轉換為全部小寫字母 upper 將引數轉換為全部大寫字母 ...