DB

[MySQL][Oracle] Boolean 데이터 타입의 차이점

오선지♬ 2024. 8. 7. 19:11
728x90
반응형

MySQL에서는 Boolean 타입을 직접 지원하지 않으며,

대신 TINYINT(1)을 사용해 Boolean처럼 사용합니다.

따라서 TRUE는 1, `FALSE는 0으로 표현됩니다.

만약 Oracle에서 use_yn 컬럼을 Boolean 타입처럼 사용하고 있었다면,

MySQL로 마이그레이션할 때 이러한 차이로 인해 문제가 발생할 수 있습니다.

 

SELECT * FROM table_name WHERE use_yn IS TRUE;

⬇️

SELECT * FROM table_name WHERE use_yn = 1;

 

그래서 mysql에서는 위 SQL 대로 작성했을 때 작동되었지만,

oracle에서는 에러가 발생하여 아래와 같은 SQL로 수정해주어야 한다.

728x90
반응형

'DB' 카테고리의 다른 글

[Oracle] NVL/ NVL2  (0) 2024.08.09
[SQLD] Entity, Instance, Attribute  (0) 2024.08.08
[DB][Oracle] DECODE  (0) 2024.08.05
[DB][Oracle] FETCH FIRST 1 ROW ONLY 와 ROWNUM 1의 차이  (1) 2024.07.24
[DB][Oracle] FETCH FIRST 1 ROW ONLY  (0) 2024.07.23