알짜정보/IT정보

ORALCE 에서 MYSQL, MARIADB 변경 시 확인 함수

리커니 2021. 2. 24.
반응형

ORALCE 에서 MYSQL, MARIADB 변경 시 확인 함수

 

 

- CONNECT BY LEVEL

 

Link : aljjabaegi.tistory.com/549

 

MySql, MariaDB에서 connect by level 사용방법

MySql, MariaDB에서 connect by level 사용방법 오랜만에 포스팅에서는 MySql, MariaDB에서 connect by level 사용방법을 알아보겠습니다. connect by level 은 증가하거나 감소하는 데이터를 동적으로 생성..

aljjabaegi.tistory.com

 

- TO_NUMBER

-- ORACLE
TO_NUMBER('1')
-- MYSQL, MARIADB
CASE('1' AS INTEGER)

 

- DECODE

--ORACLE
DECODE(컬럼, 값1, 값1결과)
DECODE(컬럼, 값1, 값1결과, 값2, 값2결과)

-- MYSQL, MARIADB
IF(조건, 참, 거짓)
IF(조건, 참, IF(조건, 참, 거짓))

 

- Date to String

-- ORACLE
TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS')

-- MYSQL, MARIADB
DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%S')

 

- NVL

-- ORACLE
NVL(NULL, '널이야')

-- MYSQL, MARIADB
IFNULL(NULL, '널이야')

 

- SYSDATE

-- ORACLE
SYSDATE

-- MYSQL, MARIADB
NOW()

 

- 문자열 연결 ||

-- ORACLE
알||짜||배||기

-- MYSQL, MARIADB
CONCAT('알','짜','배','기')

 

- INSERT 내 SUBQUERY 작성 시 

 

-- ORACLE
INSERT INTO TABLE1 (
	A
  , B
) VALUES (
	1
  , (SELECT B
       FROM TABLE1)
)
-- MYSQL, MARIADB
INSERT INTO TABLE1 (
	A
  , B
) VALUES (
	1
  , (SELECT B
       FROM TABLE1 AS SUB_TABLE1)
)

오라클 과 같이 작성 시 

Table '테이블명' is specified twice, both as a target for 'INSERT' and as a separate source for data

에러 발생.

MYSQL, MARIADB는 ORACLE 보다 ALIAS에 대해 엄격하기 때문에,

서브 쿼리 사용시에는 항상 ALIAS를 붙이도록 합니다.

 

 

- Mybatis keyColumn, keyProperty 사용 시

-- ORACLE
<insert id="ins" parameterType="java.util.Map" keyColumn="ID" keyProperty="id" useGeneratedKeys="true">

</insert>
-- MYSQL, MARIADB 위 방식 지원 안함
<insert ....>
    <selectKey keyProperty="id" resultType="java.lang.String" order="AFTER">
    </selectKey>
</insert>

 

 

 

반응형

댓글

💲 추천 글