Database ( DB )/Database

DBMS별 함수 비교

노루아부지 2021. 5. 16. 22:16

 

 

DBMS별 함수 비교

  1. NULL TO STRING
    1. ORACLE: NVL
    2. MSSQL: ISNULL
    3. MYSQL: IFNULL
  2. substring
    1. ORACLE: SUBSTR
    2. MSSQL: SUBSTRING
    3. MYSQL: SUBSTRING
  3. 문자열 합치기(concat)
    1. ORACLE: ||
    2. MSSQL: +
    3. MYSQL: CONCAT
  4. 공백 제거
    1. ORACLE: TRIM
    2. MSSQL: LTRIM(RTRIM(FieldName))
    3. MYSQL: TRIM
  5. 통계적 표준편차
    1. ORACLE: STDDEV
    2. MSSQL: STDEV
    3. MYSQL: STD
  6. 소수점 올림
    1. ORACLE: CEIL
    2. MSSQL: CEILING
    3. MYSQL: CEIL, CEILING
  7. LIMIT
    1. ORACLE: ROWNUM
      SELECT *
      FROM EMP
      WHERE JOB = 'SAILSMAN'
      AND ROWNUM <= 2
    2. MSSQL: TOP
      SELECT TOP(2) *
      FROM EMP
      WHERE JOB = 'SAILSMAN'​
    3. MYSQL: LIMIT
      SELECT *
      FROM EMP
      WHERE JOB = 'SAILSMAN'
      AND ROWNUM <= 2
      LIMIT 2​
  8. DATE TO CHAR (YYYY-MM-DD)
    1. ORACLE: TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS)
    2. MSSQL: CONVERT(CHAR(19), DATETIME, 120)
    3. MYSQL: DATE_FORMAT(DATETIME, %Y-%m-%d %H:%i:%s)
  9. 문자열 길이
    1. ORACLE: LENGTH
    2. MSSQL: LEN
    3. MYSQL: LENGTH, CHAR_LENGTH
  10. 나머지 값
    1. ORACLE: MOD -> MOD(10,3)
    2. MSSQL: % -> 10%3
    3. MYSQL: MOD(10,3)
  11. 소수점 버림
    1. ORACLE: TRUNC
    2. MSSQL: ROUND(Number, 0, 1)
    3. MYSQL: TRUNCATE(숫자, 버릴 자릿수)
  12. 현재 시간
    1. ORACLE: SYSDATE
    2. MSSQL: GETDATE()
    3. MYSQL: NOW()

 

 

 

참고사항

  1. 숫자 연산 시, MSSQL은 기본이 Integer 형이므로 소수점 이하를 표시하기 위해서는 DECIMAL로 캐스팅 필요
    SELECT 10 / 3 /* 3 */
    SELECT 10 CASE(3 AS DECIMAL) /* 3.3333333333*/​
  2. DBMS 별로 ORDER BY 결과에 NULL 값의 위치가 다름
    1. ORACLE: ORDER BY 결과에 NULL 값이 가장 나중에 조회
    2. MSSQL : ORDER BY 결과에 NULL 값이 가장 먼저 조회
728x90
loading