[DB] MySQL과 Oracle 문법 비교

    728x90
    반응형

    2021.03.13

    3일차

     

    입사 6일차.

    회사에서 이미 운영중인 스프링 프레임워크 기반 장비/자재 관리프로그램으로 기본소양 테스트를 진행했다.

    쿼리문을 작성하는 건 잘한다고 생각했었는데 이번에도 생각지도 못한 곳에서 막혀버렸다.

     

    MySQL의 경우 INSERT 쿼리를 만들 때, 아래와 같이 쿼리를 작성했었다.

    -> INSERT INTO 테이블이름 SET 컬럼1 = #{}, ...

     

    하지만 계속 구문에러( syntax 에러)가 발생해서 해결법을 찾던 중, 위의 쿼리는 Oracle에서는 사용할 수 없는 쿼리였다.

    그래서 오늘은 MySQL과 Oracle 문법의 차이점을 기록하려고 한다.

     

     

     

    1. INSERT

      ① MySQL

          -> INSERT INTO 테이블이름 SET 컬럼1 = #{ 입력값1 }, 컬럼2 = #{ 입력값2 }, ... 

      ② Oracle

          -> INSERT INTO 테이블이름 ( 컬럼1, 컬럼2, ... ) VALUES ( #{ 입력값1 }, #{ 입력값2 }, ... )

     

    2. 현재시간 입력

      ① MySQL

          -> NOW()

      ② Oracle

          -> SYSDATE

     

    3. 문자열 합치기

      ① MySQL

          -> CONCAT( '마', '이', 'SQL' )

      ② Oracle

          -> '오' || '라' || '클'

     

    4. IFNULL

      ① MySQL

          -> IFNULL (컬럼명, 대체값)

      ② Oracle

          -> NVL (컬럼명, 대체값)

     

    5. 형변환

      ① MySQL

          -> CAST ( 데이터 AS 변환할 자료형 )

      ② Oracle

          -> TO_NUMBER, TO_CHAR 등등

    728x90
    반응형

    댓글