文章出處


 

一、大小寫函數

lower():全部小寫
upper():全部大寫
initcap():首字母大寫

--小寫
select lower ('HAPPY') "Lowercase" from dual

--大寫
select upper('last name'"Uppercase" from dual

--首字母大寫
select initcap ('the socp') "Capitals" from dual


 

二、字符控制函數

① Concat--連接字符串

select concat ('happy','boy') from dual

② Substr

 substr('要截取的字符串',起始位置)

select substr ('HappyBoy',2,3) from dual

③ length('字符串'):字符個數統計

    lengthb('字符串'):字節個數統計

select length('快樂') 字符數,lengthb('快樂') as 字節數 from dual

④ instr('大字符串','小字符串') 返回小字符串在大字符串中出現的位置

select instrb('corporate floor','or',5,2) "Instring in bytes" from dual

⑤ lpad()和rpad()

lpad則與rpad相反

select rpad('Happy',10,'*') from dual

⑥ trim()去除帶有“a”的字符

select trim('a' from 'ahappy') from dual


 

三、日期函數

① months_between:兩個日期相差的月數

② add_months:向指定日期中加上若干月數

--兩個日期相差的月數

select months_between
(
to_date('02-02-1995','MM-DD-YYYY'),
to_date('01-01-1995','MM-DD-YYYY')
) "Months"
from dual

--向指定日期中加上若干月數

select to_char(add_months(HIREDATE,1),'DD-MON-YYYY') "Next month"
from  emp
where ENAME='WARD';

-----日期相減

---兩個日期間的天數
select floor (sysdate - to_date('20020405','yyyymmdd')) from dual;

---兩個日期相差的月數
select months_between(sysdate,to_date('20111204','yyyymmdd')) from dual


 

四、轉換函數

隱式轉換:

--隱式轉換
select * from emp
where hiredate='17-12月-80'

顯示轉換:

--顯式轉換
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;


 

五、數字函數

① round():四舍五入

select round(12.45,1) from dual;

② trunc:截斷

select trunc(15.79,1) "Truncate" from dual


 

六、通用函數

nvl和nvl2

--通用函數
select sal*12工資,comm 獎金,sal*12+nvl(comm,0) from emp

select sal*12工資,comm 獎金,sal*12+nvl2(comm,comm,0) from emp


 

七、decode函數

 select ename,empno,
      decode (ename,'SMITH',1,
      'ALLEN',2,
      'WARD',3,
      'JONES',4) "Location"
      from emp
      where empno<7600
      order by empno,"Location"

 


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()