Sie sind auf Seite 1von 6

CHAPTER 3

___________
SQL FUNCTION
____________________________
CHARACTER FUNCTION
______________________
CASE-MANIPULATION FUNCTION
_______________________________
SELECT UPPER(LAST_NAME)
FROM
EMPLOYEES;
SELECT *
FROM
EMPLOYEES
WHERE UPPER(LAST_NAME)='KING';
SELECT *
FROM
EMPLOYEES
WHERE LOWER(LAST_NAME)='king';
SELECT *
FROM
EMPLOYEES
WHERE INITCAP(LAST_NAME)='King';
CHARACTER-MANIPULATION
____________________________
SELECT FIRST_NAME,LAST_NAME,CONCAT(FIRST_NAME,LAST_NAME) NAME
FROM
EMPLOYEES;
SELECT LAST_NAME,LENGTH(LAST_NAME) FROM EMPLOYEES;
SELECT SUBSTR('SQL STAR',1,3)
FROM
DUAL;
SELECT SUBSTR('SQL STAR',1)
FROM
DUAL;
SELECT SUBSTR('SQL STAR',-1)
FROM
DUAL;
SELECT SUBSTR('SQL STAR',-4)
FROM
DUAL;
SELECT INSTR('SQL STAR','S')
FROM
DUAL;
SELECT INSTR('SQL STAR','S',1,2)
FROM
DUAL;
SELECT TRIM('H' FROM 'HELLO H WORLDH')
FROM
DUAL;
SELECT TRIM(LEADING 'H' FROM 'HELLO H WORLDH')
FROM
DUAL;
SELECT TRIM(TRAILING 'H' FROM 'HELLO H WORLDH')

FROM

DUAL;

SELECT LPAD('SQL STAR',10,'*')


FROM DUAL;
SELECT RPAD('SQL STAR',10,'*')
FROM DUAL;
SELECT REPLACE('SQL STAR','STAR','*')
FROM
DUAL;
NUMBER FUNCTION
__________________
SELECT ROUND(2345.5674,2),ROUND(2345.5644,2),
ROUND(2345.5674,-2),ROUND(2365.5674,-2)
FROM
DUAL;
SELECT TRUNC(2345.5674,2),TRUNC(2345.5644,2),
TRUNC(2345.5674,-2),TRUNC(2365.5674,-2)
FROM
DUAL;
SELECT MOD(100,2),MOD(100,3)
FROM
DUAL;
GENERAL FUNCTION
___________________
Q. CALCULATE TOTSAL OF EACH EMPS.
SELECT SALARY,COMMISSION_PCT,SALARY+COMMISSION_PCT
FROM
EMPLOYEES;
SELECT SALARY,COMMISSION_PCT,SALARY+NVL(COMMISSION_PCT,0)
FROM
EMPLOYEES;
SELECT SALARY,COMMISSION_PCT,
NVL2(COMMISSION_PCT,SALARY+COMMISSION_PCT,SALARY)
FROM
EMPLOYEES;
SELECT SALARY,COMMISSION_PCT,
COALESCE(SALARY+COMMISSION_PCT,SALARY,0)
FROM
EMPLOYEES;
SELECT NULLIF('SQL STAR','SQL STAR'),NULLIF('SQL STAR','SQLSTAR')
FROM
DUAL;
DATE
FUNCTION
___________________
SELECT SYSDATE FROM DUAL;
SELECT SYSDATE+10 FROM DUAL;
SELECT SYSDATE-10 FROM DUAL;
SELECT SYSDATE - HIRE_DATE FROM EMPLOYEES;

SELECT (SYSDATE - HIRE_DATE )/7 FROM EMPLOYEES;


SELECT ADD_MONTHS(SYSDATE,6) FROM DUAL;
SELECT ADD_MONTHS(SYSDATE,-6) FROM DUAL;
SELECT MONTHS_BETWEEN(SYSDATE,HIRE_DATE) FROM EMPLOYEES;
SELECT NEXT_DAY(SYSDATE,'MONDAY') FROM DUAL;
SELECT LAST_DAY(SYSDATE) FROM DUAL;
ROUND
_________
SELECT ROUND(SYSDATE,'MONTH') FROM DUAL;
SELECT ROUND(TO_DATE('12-APR-10'),'MONTH') FROM DUAL;
SELECT ROUND(SYSDATE,'YEAR') FROM DUAL;
SELECT ROUND(TO_DATE('12-JUL-10'),'YEAR') FROM DUAL;
TRUNC
_________
SELECT TRUNC(SYSDATE,'MONTH') FROM DUAL;
SELECT TRUNC(TO_DATE('12-APR-10'),'MONTH') FROM DUAL;
SELECT TRUNC(SYSDATE,'YEAR') FROM DUAL;
SELECT TRUNC(TO_DATE('12-JUL-10'),'YEAR') FROM DUAL;
CONVERSION FUNCTION
________________________
SELECT 10000+1000 FROM DUAL;
SELECT '10000'+1000 FROM DUAL; --IMPLICIT CONVERSION
SELECT '10,000'+1000 FROM DUAL;

--ERROR

SELECT TO_NUMBER('10,000','99,999')+1000 FROM DUAL; --EXPLICIT


SELECT TO_CHAR(10000+1000,'$99,999.99') FROM DUAL; --$ 11,000.00
SELECT SYSDATE+10 FROM DUAL;
SELECT '20-APR-10'+10 FROM DUAL;

--ERROR

SELECT TO_DATE('20-APR-10')+10 FROM DUAL;


SELECT TO_DATE('APR-20-10','MON-DD-RR')+10 FROM DUAL;
SELECT TO_CHAR(SYSDATE ,'MON-DD-RR') FROM DUAL;

SELECT TO_CHAR(SYSDATE ,'DAY - MONTH - YEAR') FROM DUAL;


SELECT TO_CHAR(SYSDATE ,'DY - MM - RRRR') FROM DUAL;
SELECT TO_CHAR(SYSDATE ,'DDSPTH MONTH, RRRR') FROM DUAL;
SELECT TO_CHAR(SYSDATE ,'Ddspth Month, RRRR') FROM DUAL;
SELECT TO_CHAR(TO_DATE('12-JAN-10','DD-MON-RR'),'DD-MON-RRRR') FROM DUAL;
SELECT TO_CHAR(TO_DATE('12-JAN-99','DD-MON-RR') ,'DD-MON-RRRR')FROM DUAL;
SELECT TO_CHAR(TO_DATE('12-JAN-10','DD-MON-YY'),'DD-MON-YYYY') FROM DUAL;
SELECT TO_CHAR(TO_DATE('12-JAN-99','DD-MON-YY'),'DD-MON-RRRR') FROM DUAL;
DECODE
___________
SELECT LAST_NAME,SALARY,JOB_ID,
DECODE(JOB_ID, 'SA_REP',
SALARY*.10,
'SA_MAN',
SALARY*.20,
'IT_PROG',SALARY*.30,
SALARY) "REVISED SALARY"
FROM
EMPLOYEES;
CASE
_______
SELECT LAST_NAME,SALARY,JOB_ID,
CASE
JOB_ID WHEN
'SA_REP'
WHEN
'SA_MAN'
WHEN
'IT_PROG' THEN
ELSE
SALARY
FROM
EMPLOYEES;

THEN SALARY*1.10
THEN SALARY*1.20
SALARY*1.20
END "REV SAL"

Das könnte Ihnen auch gefallen