您好,登錄后才能下訂單哦!
單行函數主要分為以下五類:字符函數、數字函數、日期函數、轉換函數、通用函數;
· UPPER(字符串 | 列):將輸入的字符串變為大寫返回;
· LOWER(字符串 | 列):將輸入的字符串變為小寫返回;
· INITCAP(字符串 | 列):開頭首字母大寫;
· LENGTH(字符串 | 列):求出字符串的長度;
· REPLACE(字符串 | 列):進行替換;
· SUBSTR(字符串 | 列 ,開始點 [,結束點]):字符串截取;
轉大寫的函數:
SELECT UPPER('hello') FROM dual ;
轉小寫的操作:
SELECT LOWER(ename) FROM emp ;
將每一個雇員姓名的開頭首字母大寫:
SELECT INITCAP(ename) FROM emp ;
查詢出每個雇員姓名的長度:
SELECT ename,LENGTH(ename) FROM emp ;
使用字母“_”替換掉姓名中的所有字母“A”:
SELECT REPLACE(ename,'A','_') FROM emp ;
字符串截取操作有兩種語法;
語法一:SUBSTR(字符串 | 列,開始點),表示從開始點一直截取到結尾;
SELECT ename,SUBSTR(ename,3) FROM emp ;
語法二:SUBSTR(字符串 | 列,開始點,結束點),表示從開始點截取到結束點,截取部分內容;
SELECT ename,SUBSTR(ename,0,3) FROM emp ;
SELECT ename,SUBSTR(ename,1,3) FROM emp ;
· ROUND(數字 | 列 [,保留小數的位數]):四舍五入的操作;
· TRUNC(數字 | 列 [,保留小數的位數]):舍棄指定位置的內容;
· MOD(數字1,數字2):取模,取余數;
SELECT ROUND(903.53567),ROUND(-903.53567),ROUND(903.53567,2),ROUND(903.53567,-1) FROM dual ;
SELECT TRUNC(903.53567),TRUNC(-903.53567),TRUNC(903.53567,2),TRUNC(903.53567,-1) FROM dual ;
SELECT MOD(10,3) FROM dual ;
當前日期:
SELECT SYSDATE FROM dual ;
在日期中也可以進行若干計算:
日期 + 數字 = 日期,表示若干天之后的日期:
SELECT SYSDATE + 3,SYSDATE + 300 FROM dual ;
日期 – 數字 = 日期,表示若干天前的日期:
SELECT SYSDATE - 3,SYSDATE - 300 FROM dual ;
日期 – 日期 = 數字,表示的是兩個日期間的天數,但是肯定是大日期 – 小日期;
LAST_DAY(日期):求出指定日期的最后一天:
SELECT LAST_DAY(SYSDATE) FROM dual ;
NEXT_DAY(日期,星期數):求出下一個指定星期X的日期:
SELECT NEXT_DAY(SYSDATE,'星期一') FROM dual ;
ADD_MONTHS(日期,數字):求出若干月之后的日期:
SELECT ADD_MONTHS(SYSDATE,4) FROM dual ;
MONTHS_BETWEEN(日期1,日期2):求出兩個日期之間所經歷的月份:
SELECT ename,hiredate,TRUNC(MONTHS_BETWEEN(SYSDATE,hiredate)) FROM emp ;
· TO_CHAR(字符串 | 列,格式字符串):將日期或者是數字變為字符串顯示;
· TO_DATE(字符串,格式字符串):將字符串變為DATE數據顯示;
· TO_NUMBER(字符串):將字符串變為數字顯示;
SELECT TO_CHAR(SYSDATE,'yyyy-mm-dd'),TO_CHAR(SYSDATE,'yyyy') year,TO_CHAR(SYSDATE,'mm') months,TO_CHAR(SYSDATE,'dd') day FROM dual ;
SELECT TO_DATE('1989-09-12','yyyy-mm-dd') FROM dual ;
SELECT TO_NUMBER('1') + TO_NUMBER('2') FROM dual ;
NVL()函數,處理null:
SELECT ename,sal,comm,(sal+NVL(comm,0))*12,NVL(comm,0) FROM emp ;
DECODE()函數:多數值判斷
SELECT empno,ename,job,DECODE(job,'CLERK','辦事員','SALESMAN','銷售人員','MANAGER','經理','ANALYST','分析員','PRESIDENT','總裁') FROM emp ;
· COUNT():查詢表中的數據記錄;
· AVG():求出平均值;
· SUM():求和;
· MAX():求出最大值;
· MIN():求出最小值;
SELECT COUNT(empno),SUM(sal),AVG(sal) FROM emp ;
SELECT MAX(sal),MIN(sal) FROM emp ;
SELECT COUNT(ename) FROM BONUS ;
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。