Oracle ➡ Hana 변경되는 SQL 문법

큐브고기전문점·2023년 3월 9일

HANA

목록 보기
1/1
post-thumbnail

https://www.stechies.com/differences-between-sap-hana-oracle-sql/

1. SYSDATE -> CURRENT_DATE

2. DECODE -> MAP

3. DUAL -> DUMMY

4. CAST

SELECT CAST  (7 AS VARCHAR) "cast" FROM DUMMY;

칼럼이름은 cast로 하고, 7을 VARCHAR 타입으로 타입 캐스팅

SELECT CAST (10.5 AS INTEGER) "cast" FROM DUMMY;


마찬가지로 10.5가 int로 타입캐스팅 되어서 10이 됨

5. TRANSLATE ->

원래 오라클의 TRANSLATE는 ('문자열', '대상문자', '변환문자')로
대상문자와 변환문자는 1:1 변환이 되고, 대상문자에는 있는데 변환문자에는 없으면 해당 문자는 제거

hana의 TRANSLATE는

  • 참고
    ORACLE의 REPLACE 함수와 TRANSLATE의 차이점은
    REPLACE는 지정된 정확한 문자열을 찾아서 대체 문자열로 변경하지만
    TRANSLATE는 지정문자열과 대체문자열을 각각 하나의 문자로 대체
SELECT DEPTNO, DNAME, REPLACE(DNAME, 'AIG', '!@#') --ACCOUNTING
FROM DEPT
WHERE DEPTNO = 10;

ACCOUNTING 문자열에 A,I,G 문자가 각각 들어있지만 AIG가 붙어있는 문자열은 없기 때문에 문자열 대체 작업을 수행하지 않음

SELECT DEPTNO, DNAME, TRANSLATE(DNAME, 'AIG', '!@#') --ACCOUNTING
FROM DEPT
WHERE DEPTNO = 10;

TRANSLATE는 지정문자열과 대체문자열을 각각 하나의 문자로 대체함

6. INSTR -> LOCATE_REGEXPR

문자열에서 정규식 패턴을 검색하고 일치하는 부분 문자열의 시작 위치 또는 끝 위치 + 1을 나타내는 정수를 반환합니다.

7. NVL -> IFNULL

8. WHERE ROWNUM <= 10 -> SELECT TOP 10

9.

0개의 댓글