標籤: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