Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

게으른 완벽주의자의 개발자 도전기

DataBase 주요 함수 정리 본문

SQL

DataBase 주요 함수 정리

머리방울 2022. 8. 3. 22:58

절대값(ABS)
  SELECT -10, ABS(-10) 
   FROM DUAL;


소수점 이하 버림(FLOOR), 반올림(ROUND , 몇번째 자리까지 표시할 것인지)
    SELECT 12.345, FLOOR(12.345), ROUND(12.345), ROUND(12.345, 2)
    FROM DUAL;

나머지 값
    SELECT MOD(10, 3)
    FROM DUAL;

모두 대문자(UPPER), 모두 소문자(LOWER), 앞글자만 대문자(INITCAP)
 SELECT 'WELCOME ORACLE'

, UPPER('welcome oracle')

, LOWER('WELCOME ORACLE')

, INITCAP('WELCOME ORACLE')
    FROM DUAL;


게시판에서 제목에 java라는 글자가 들어간 게시글의 모든 정보 조회
단, 대소문자 구분없이 조회하라
SELECT * 
FROM BOARD
WHERE UPPER(TITLE) LIKE UPPER('%java%');

LENGTH(글자수) LENGTHB (BYTE 수)
    SELECT LENGTH('안녕하세요'), LENGTHB('안녕하세요') 
    FROM DUAL;

글자공간 10개를 만드는데 남은 공간은 #으로 메꿔줘(꽤 쓴다)
LPAD(왼쪽) RPAD(오른쪽)
    SELECT LPAD('JAVA', 10, '#'), RPAD('JAVA', 10, '#')
    FROM DUAL;

SUBSTR() 문자열 자르기(문자열, 몇번째 글자부터 자르겠다, 3번째글자부터 6개 자르겠다(빈칸도 문자로 취급)
    SELECT SUBSTR('welcome oracle', 3), SUBSTR('welcome oracle', 3, 6)  
    FROM DUAL;

형 변환 NUMBER, VARCHAR2(), DATE
문자를 숫자로 변환 -> TO_NUMBER()
숫자를 문자로 변환 -> TO_CHAR()
날짜를 문자로 변환 -> TO_CHAR()
문자를 날짜로 변환 -> TO_DATE()

숫자를 문자로(잘 안씀)
    SELECT 10, TO_CHAR(10)
    FROM DUAL;

날짜를 문자로(많이 씀)
    SELECT SYSDATE, TO_CHAR(SYSDATE, 'YYYY-MM-DD')
    , TO_CHAR(SYSDATE,'YYYY.MM.DD')
    , TO_CHAR(SYSDATE, 'MM')
    , TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS')
    , TO_DATE('20220803')
    FROM DUAL;
    
    SELECT BOARD_NUM 
        , TITLE
        , WRITER
        , TO_CHAR(CREATE_DATE, 'YYYY-MM-DD')
    FROM BOARD;

 입사일이 2003년 09월 2일부터 입사한 사원들의 모든 정보 조회
    SELECT * 
    FROM EMP
    WHERE HIREDATE >= TO_DATE('20030902'); 

★둘 다 날짜로 자료형을 맞추어 결과 도출해야 한다!
    
3월에 입사한 모든 사원의 정보를 조회
    SELECT * 
    FROM EMP 
    WHERE TO_CHAR(HIREDATE, 'MM') = '03';