본문 바로가기

IT/Oracle

오라클 함수정리 2탄



SELECT

EMPLOYEE_ID

, FIRST_NAME || ' ' || LAST_NAME AS NAME

      , SALARY

      , DEPARTMENT_ID


  FROM  EMPLOYEES

 WHERE  SUBSTR(LAST_NAME, 1, 1) = 'K'

;


SELECT

EMPLOYEE_ID

, FIRST_NAME || ' ' || LAST_NAME AS NAME

      , SALARY

      , DEPARTMENT_ID


  FROM  EMPLOYEES

 WHERE  LOWER(SUBSTR(LAST_NAME, 1, 1)) = 'k'

   AND  SALARY >= 10000

 ORDER BY EMPLOYEE_ID DESC

-- SUBSTR함수 (문자열, 위지, 갯수) : 지정된 길이의 문자열을 추출

-- 내림차순 -> DESC

-- LOWER와 UPPER 함수를 중첨해서 쓸 수 있다. SUBSTR(LOWER(LAST_NAME),1,1) = 'k'

;


--> INSTR('MILLER', 'L', 1, 2)

-- (비교할 대상, 비교하고자 하는 값, 비교를 시작할 위치, 검색된 결과의 순번)


SELECT

 FIRST_NAME || ' ' || LAST_NAME AS NAME

, JOB_ID

      , LTRIM (JOB_ID, 'A')

  FROM EMPLOYEES

--앞자리 글자 혹은 뒷자리 글자 자르기

;


--REPLACE 특장문자열을 대신하는 함수

--사용법 -> REPLACE(대상구문, 찾을문자, 바꿀문장)

--REPLACE('JACK AND JUE', 'J', 'BL') -> BLACK AND BLUE


SELECT

ROUND(4567.678), ROUND(4567.678,0),

  ROUND(4567.678, 2), ROUND(4567.678,-2)

      FROM dual

-- ROUND 소수점 반올림

;


SELECT

SALARY

      , MOD(SALARY, 30)

  FROM EMPLOYEES

--나누기 함수

;


SELECT

 LAST_NAME

      , HIRE_DATE

      , SYSDATE

      , SYSDATE - HIRE_DATE "TOTAL DAYS"

      , TRUNC((SYSDATE - HIRE_DATE) / 7,0) Weeks

      , ROUND(MOD((SYSDATE - HIRE_DATE), 7), 0) DAYS


  FROM EMPLOYEES

 ORDER BY SYSDATE - HIRE_DATE DESC

--FLOOR 뒷자리 절삭

;


'IT > Oracle' 카테고리의 다른 글

오라클 함수정리 4탄 (그룹함수)  (0) 2015.07.18
오라클 정규화  (0) 2015.07.15
오라클 삭제 (oracle 레지스트리 완전삭제)  (0) 2015.04.17
오라클 함수정리 3탄 (단일함수)  (0) 2014.12.15
오라클 함수정리 1탄  (0) 2014.12.15