Oracle內建函數

來源:互聯網
上載者:User

標籤:des   os   for   art   ar   時間   new   sql   


1.ASCII 返回與指定的字元對應的十進位數;
SQL>select ascii(‘A‘) A,ascii(‘a‘) a,ascii(‘0‘) zero,ascii(‘ ‘) space from dual;

2.chr 給出整數,返回對應的字元;

SQL>select chr(55203) zhu,chr(65) chr65 from dual;

3.concat 串連兩個字串;

SQL>select concat(‘010-‘,‘88888888‘)||‘轉23‘ 某公司電話 from dual;

4.INITCAP 返回字串並將字串的第一個字母變為大寫;

SQL>select initcap(‘smith‘) upp from dual;

5.INSTR(C1,C2,M,N) 在一個字串中搜尋指定的字元,返回傳現的字元的位置;

C1:被搜尋的字串

C2:希望搜尋的字串

M :搜尋的開始位置,預設為1

N :出現的位置,預設為1

SQL>select instr(‘oracle traning‘,‘ra‘,1,2) instring from dual;


6.LENGTH 返回字串的長度;


7.LOWER 返回字串,並將所有的字元小寫

SQL> select lower(‘AaBbCcDd‘)AaBbCcDd from dual;


8.UPPER 返回字串,並將所有的字元大寫

SQL> select upper(‘AaBbCcDd‘) upper from dual;

9.RPAD和LPAD(粘貼字元)
RPAD 在列的右邊粘貼字元
LPAD 在列的左邊粘貼字元
SQL> select lpad(rpad(‘gao‘,10,‘*‘),17,‘*‘)from dual;


LPAD(RPAD(‘GAO‘,1
-----------------
*******gao*******
不夠字元則用*來填滿


10.LTRIM和RTRIM
LTRIM 刪除左邊出現的字串
RTRIM 刪除右邊出現的字串
SQL> select ltrim(rtrim(‘ gao qian jing ‘,‘ ‘),‘ ‘) from dual;


11.SUBSTR(string,start,count)
取子字串,從start開始,取count個
SQL> select substr(‘13088888888‘,3,8) from dual;


12.REPLACE(‘string‘,‘s1‘,‘s2‘)
string 希望被替換的字元或變數
s1 被替換的字串
s2 要替換的字串
SQL> select replace(‘he love you‘,‘he‘,‘i‘) from dual;


13.TRIM(‘s‘ from ‘string‘)
LEADING 剪掉前面的字元
TRAILING 剪掉後面的字元
如果不指定,預設為空白格符


14.ABS 返回指定值的絕對值
SQL> select abs(100),abs(-100) from dual;


15.CEIL 返回大於或等於給出數位最小整數
SQL> select ceil(3.1415927) from dual;


16.FLOOR 對給定的數字取整數
SQL> select floor(2345.67) from dual;


1726.MOD(n1,n2) 返回一個n1除以n2的餘數
SQL> select mod(10,3),mod(3,3),mod(2,3) from dual;

18.POWER 返回n1的n2次方根
SQL> select power(2,10),power(3,3) from dual;


19.ROUND和TRUNC
按照指定的精度進行舍入
SQL> select round(55.5),round(-55.4),trunc(55.5),trunc(-55.5) from dual;


20.SIGN 取數字n的符號,大於0返回1,小於0返回-1,等於0返回0
SQL> select sign(123),sign(-100),sign(0) from dual;


21.TRUNC
按照指定的精度截取一個數
SQL> select trunc(124.1666,-2) trunc1,trunc(124.16666,2) from dual;


22.ADD_MONTHS
增加或減去月份
SQL> select to_char(add_months(to_date(‘199912‘,‘yyyymm‘),2),‘yyyymm‘) from dual;

SQL> select to_char(add_months(to_date(‘199912‘,‘yyyymm‘),-2),‘yyyymm‘) from dual;


23.LAST_DAY
返回日期的最後一天
SQL> select to_char(sysdate,‘yyyy.mm.dd‘),to_char((sysdate)+1,‘yyyy.mm.dd‘) from dual;


24.MONTHS_BETWEEN(date2,date1)
給出date2-date1的月份
SQL> select months_between(‘19-12月-1999‘,‘19-3月-1999‘) mon_between from dual;


MON_BETWEEN
-----------
9
SQL>selectmonths_between(to_date(‘2000.05.20‘,‘yyyy.mm.dd‘),to_date(‘2005.05.20‘,‘yyyy.dd‘)) mon_betw from dual;


MON_BETW
---------
-60


25.NEW_TIME(date,‘this‘,‘that‘)
給出在this時區=other時區的日期和時間
SQL> select to_char(sysdate,‘yyyy.mm.dd hh24:mi:ss‘) bj_time,to_char(new_time
2 (sysdate,‘PDT‘,‘GMT‘),‘yyyy.mm.dd hh24:mi:ss‘) los_angles from dual;


BJ_TIME LOS_ANGLES
------------------- -------------------
2004.05.09 11:05:32 2004.05.09 18:05:32


26.SYSDATE 用來得到系統的當前日期
SQL> select to_char(sysdate,‘dd-mm-yyyy day‘) from dual;

27.TO_DATE(string,‘format‘) 將字串轉化為ORACLE中的一個日期

28.TO_NUMBER
將給出的字元轉換為數字

29.GROUP BY 主要用來對一組數進行統計
SQL> select deptno,count(*),sum(sal) from scott.emp group by deptno;


DEPTNO COUNT(*) SUM(SAL)
--------- --------- ---------
10 3 8750
20 5 10875
30 6 9400

30..HAVING 對分組統計再加限制條件
SQL> select deptno,count(*),sum(sal) from scott.emp group by deptno having counnt(*)>=5;


DEPTNO COUNT(*) SUM(SAL)
--------- --------- ---------
20 5 10875
30 6 9400
SQL> select deptno,count(*),sum(sal) from scott.emp having count(*)>=5 group by tno ;


DEPTNO COUNT(*) SUM(SAL)
--------- --------- ---------
20 5 10875
30 6 9400

31.ORDER BY 用於對查詢到的結果進行排序輸出
SQL> select deptno,ename,sal from scott.emp order by deptno,sal desc;


DEPTNO ENAME SAL
--------- ---------- ---------
10 KING 5000
10 CLARK 2450
10 MILLER 1300
20 SCOTT 3000
20 FORD 3000
20 JONES 2975
20 ADAMS 1100
20 SMITH 800
30 BLAKE 2850
30 ALLEN 1600
30 TURNER 1500
30 WARD 1250
30 MARTIN 1250
30 JAMES 950

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.