샤자의 개발일지/Sybase

Sybase 와 Oracle의 차이

샤쟈 2025. 3. 20. 13:39
728x90

1) 공통점 : 둘다 RDBMS

 

* RDBMS란?

Relational Database Management System의 약자로 해석그대로 관계형 데이터베이스 관리 시스템의 약자다.

 ex) Oracle, My SQL, MS SQL, Sybase 등이 있다.

 

2)

1. 실행계획 보기

 - Oracle : Ctrl + p 를 통해 볼 수 있음

 - Sybase : set showplan on 쿼리

   ex) set showplan on

                 select * from a_table

 

2. 세미콜론 유무

 - Oracle : 세미콜론 써야됨

 - Sybase : 세미콜론 쓰면 에러남

 

3. 원하는 개수만큼 데이터 보기 방식

 - Oracle : rownum을 조건절에 걸면 원하는 개수만큼 데이터를 볼 수 있었음

   ex) select *

        from exam_dt

        where rownum <= 10

 - Sybase : top 을 사용함! 아직까지도 적응이 안 되는건 함정

   ex) select top 10 *

         from exam_dt

 

4. TO_CHAR, TO_NUMBER 등의 형변환

 - Oracle : TO_NUMBER, TO_CHAR, TO_DATE로 사용함,,

   ex) SELECT TO_NUMBER('1234') FROM DUAL

   ex) SELECT TO_CHAR(1234) FROM DUAL

   ex) SELECT TO_DATE('20210201') FROM DUAL

 

- Sybase : cast 사용하거나 convert, getdate로 사용

  ex) select cast(a as int) from exam_dt

  ex) convert(varchar(10), getdate(), 1111) ==> yyyy/mm/dd

  ex) select cast('2021-02-01 09:45:00' as datetime) [from sys.dummy] ==> 문자를 DATE형으로 변환할 때

 

5. outer join

  - Oracle : select * from tb_1 a, tb_2 b where a.id = b.id(+)

  - Sybase : select * from tb_1 a, tb_2 b where a.id *= b.id 

 

6. 테이블 명세 보기

  - Oracle : desc 테이블

  - Sybase : sp_help 테이블

 

7. nullable 함수

  - Oracle : NVL(a, '치환값')

  - Sybase : isnull(a, '치환값')

 

7. with 구문(임시 테이블 만들기)

  - Oracle : with 구문을 사용하여 사용가능

with exam_tb as a

   ( select a, b from dual)

select * from a

 

  - Sybase : 임시테이블 만드는 기능 사용

select *

   into #tmp_dt

 where exam_tb

 

select *

   from #tmp_dt

728x90