--올림, 내림, 반올림
SELECT 
    CEIL(10.3) C -- 정수만 가능
    ,FLOOR(10.7) F  -- 정수만 가능
    ,ROUND(10.77, 1) R  -- 유일하게 소수점 가능
    ,ROUND(10.77, -2) R -- 유일하게 소수점 가능
    ,ROUND(10.34,1) R
FROM DUAL;
-- SIGN 부호  -1, 0, 1 만 표시  DECODE는 동등비교만 된다
-- SIGN과 같이 사용 시 크기 비교가 가능해진다.
SELECT 
    SIGN(-10)
    ,SIGN(0)
    ,SIGN(20)
FROM DUAL;
SELECT 
    SIGN(-10)
    ,SIGN(0)
    ,SIGN(20)
FROM DUAL;

-- 0으로 만든다.
SELECT TRUNC(123.934, -2) 
    ,TRUNC(SYSDATE)
    ,ROUND(SYSDATE)
    ,ROUND(TO_DATE('20220109 11:59:59', 'YYYYMMDD HH24:MI:SS')) R1
    ,ROUND(TO_DATE('20220109 12:59:59', 'YYYYMMDD HH24:MI:SS')) R2 -- 정오 기준 다음날 아님 오늘
    ,TRUNC(TO_DATE('20220109 11:59:59', 'YYYYMMDD HH24:MI:SS')) T1  --무조건 자른다
FROM DUAL;

-- 월 다루기 -도 가능
SELECT 
    ADD_MONTHS(SYSDATE, 3)
    ,ADD_MONTHS(SYSDATE, -3)
FROM DUAL;

-- TO_DATE
-- DB 기준 DB가 가진 현재 시간을 리턴
SELECT 
    CURRENT_DATE
    ,SYSDATE 
FROM DUAL;

-- 그리드에서 정렬이 오른쪽이면 숫자, 왼쪽이면 문자열
SELECT EXTRACT(YEAR FROM SYSDATE)A 
     , EXTRACT(MONTH FROM SYSDATE)B
     , EXTRACT(DAY FROM SYSDATE)C -- 리턴 타입이 숫자
     , TO_CHAR(SYSDATE,'YYYY')D --리턴 타입이 문자
FROM DUAL;

--해당 달의 마지막 날 반환
SELECT LAST_DAY(SYSDATE) D1
     , ADD_MONTHS(TRUNC(SYSDATE, 'MM'),1)-1  D2
FROM DUAL;

SELECT NEXT_DAY(SYSDATE,6) --인덱스로 따짐 단 1부터 일요일 돌아오는 날짜
FROM DUAL;



SELECT 
    ABS(-5) COL1 -- 부등호 제외한 
    ,ABS(5) COL2 -- 절대값
    ,FLOOR(10.5) COL3 -- 내림
    ,CEIL(10.5) COL4 -- 올림
    ,POWER(2,5) COL5 -- 제곱
    ,SQRT(2) COL6 --루트
    ,ROUND(10.4) COL7 -- 반올림인데 소수점 가능
    ,ROUND(10.55,1) COL8 -- 2번 째 인자는 소수점 몇번째를 기준으로 할지
    ,TRUNC(10.4) COL9 -- 버림
    ,TRUNC(10.5) COL10 --무조건 버림
    ,TRUNC(11.5, -1) COL11 -- 정수 1의자리 버림
    ,ADD_MONTHS(TO_DATE('20180101','YYYYMMDD'),3) COL12 -- 날짜로 이후 3달 더하기
    ,CURRENT_DATE COL13 -- DB기준 현재시간
    ,EXTRACT(YEAR FROM SYSDATE) COL14 -- 년도 추출
    ,EXTRACT(MONTH FROM SYSDATE) COL15 -- 월 추출
    ,EXTRACT(DAY FROM SYSDATE) COL16 -- 일 추출
    ,NEXT_DAY('20180206',2) COL18 -- 1부터 일요일 돌아오는 그 요일의 날짜 반환
    ,NEXT_DAY('20180206','월') COL19 -- 월 화 수 목 금 토 일 가능
    ,SYSDATE COL20 -- DB기준 현재시간
FROM DUAL;

'개발 > 오라클 SQL' 카테고리의 다른 글

컬럼 <=> 행 변환  (0) 2023.01.13
숫자 함수 응용  (0) 2023.01.10
SELECT 문으로 SQL문 만들기  (0) 2023.01.05
중복 데이터 삭제  (0) 2023.01.03
NOT IN 에서 NULL 사용 시 주의사항  (0) 2023.01.01

+ Recent posts