함수 - Heeyoung-Ahn/MariaDB-with-Excel-VBA GitHub Wiki

문자열 관련 함수

CONCAT, SUBSTRING, SUBSTRING_INDEX, TRIM, CHARACTER_LENGTH, LOCATE, LPAD, RPAD, LEFT, RIGHT, REPLACE, LOWER, UPPER

  • CONCAT(열1, ‘ ’, 열2) → 열1문자열 열2문자열
  • SUBSTRING(‘2019-08-27’, 6, 2) → ‘08’
  • SUBSTRING_INDEX('www.myslq.com', '.', 2) → 'www.mysql'
  • SUBSTRING_INDEX('www.mysql.com', '.', -2) → 'mysql.com'
  • TRIM('ABC ') → 'ABC'
  • CHARACTER_LENGTH('나는') → 2
  • LOCATE('b', 'foobarbar') → 4, LOCATE('b', 'foobarbar', 5) → 7
  • LPAD('HI', 4, '!') → '!!HI'
  • REPLACE('foobarba', 'bar', '-') → 'foo-ba'
  • LOWER('FOOBAR') → 'foobar'

숫자 관련 함수

  • ROUND(123.456, 2) → 123.46
  • TRUNCATE(123.456, 2) → 123.45
  • MOD(11, 3) → 2

날짜, 시간 관련 함수

  • CURRENT_DATE → 현재날짜(yyyy-mm-dd)
  • CURRENT_TIME → 현재시간(hh:mm:ss)
  • CURRENT_TIMESTAMP → 현재날짜시간(yyyy-mm-dd hh:mm:ss)
  • DATE_FORMAT(CURRENT_DATE, ‘%Y-%m-%d’) → ‘2020-02-21’
    • 날짜형 데이터를 문자열 데이터로 변환
  • STR_TO_DATE(‘2020-02-21’, ‘%Y-%m-%d’) → ‘2020-02-21’
    • 문자열 데이터를 날짜형 데이터로 변환
  • DATEDIFF(CURRENT_DATE, ‘2020-02-01’) → 20
  • YEAR(), MONTH(), DAY()
  • INTERVAL 1 DAY/MONTH/YEAR: DATE_ADD, DATE_SUB
    • DATE_ADD(CURRENT_DATE, INTERVAL 1 DAY)
  • DAYOFWEEK(‘2020-02-21’) → 6
  • DAYOFMONTH(‘2020-02-21’) → 21
  • DAYOFYEAR(‘2020-02-21’) → 52
  • LAST_DAY(‘2020-02-21’) → ‘2020-02-29’

특정일 표시

  • 금월 1일
    LAST_DAY(CURRENT_DATE - INTERVAL 1 MONTH) + INTERVAL 1 DAY
  • 전월 1일
    LAST_DAY(CURRENT_DATE – INTERVAL 2 MONTH) + INTERVAL 1 DAY
  • 금년 1일
    CURRENT_DATE - INTERVAL (DAYOFYEAR(CURRENT_DATE) - 1) DAY
  • 전년 1일
    CURRENT_DATE - INTERVAL (DAYOFYEAR(CURRENT_DATE) - 1) DAY – INTERVAL 1 YEAR
  • 금월 말일
    LAST_DAY(CURRENT_DATE)
  • 전월 말일
    LAST_DAY(CURRENT_DATE – INTERVAL 1 MONTH)
  • 금년 말일
    CURRENT_DATE + INTERVAL (365 – DAYOFYEAR(CURRENT_DATE) + 1) DAY
  • 전년 말일
    CURRENT_DATE – INTERVAL DAYOFYEAR(CURRENT_DATE) DAY

기타함수

  • CONVERT(‘2020-02-21’, DATETIME) → ‘2020-02-21 00:00:00’
  • IFNULL(NULL, ‘’) → ‘’
  • COALESCE(NULL, NULL, ‘’) → ‘’