Post

MySQL : Built-in (내장) 함수

SQL Functions

문자 함수 (String Functions)

1. ASCII, CHAR

  1. 정의: 특정 문자의 ASCII 값을 반환하거나, 특정 ASCII 코드의 문자열 값을 반환한다.
  2. 문법:
    1
    2
    
    ASCII(str)
    CHAR(number)
    
1
2
SELECT ASCII('2'); -- 50
SELECT CHAR(77,121,83,81,'76'); -- 'MySQL'

2. BIT_LENGTH

  1. 정의: 문자열의 비트 길이를 반환한다.
  2. 문법:
    1
    
    BIT_LENGTH(str)
    
1
2
SELECT BIT_LENGTH('hello'); -- 40
SELECT BIT_LENGTH('안녕'); -- 48

3. CHAR_LENGTH

  1. 정의: 문자열의 길이를 문자 단위로 반환한다.
  2. 문법:
    1
    
    CHAR_LENGTH(str)
    
1
2
SELECT CHAR_LENGTH("SQL Tutorial"); -- 12
SELECT CHAR_LENGTH("안녕"); -- 2

4. LENGTH

  1. 정의: 문자열의 길이를 바이트 단위로 반환한다.
  2. 문법:
    1
    
    LENGTH(str)
    
1
2
SELECT LENGTH("SQL Tutorial"); -- 12
SELECT LENGTH("안녕"); -- 6

5. FORMAT

  1. 정의: 숫자를 지정된 소수점 자리로 반올림하고 “#,###,###.##” 형식으로 문자열로 반환한다.
  2. 문법:
    1
    
    FORMAT(number, decimal_places)
    
1
2
3
4
5
SELECT FORMAT(250500.5634, 0); -- '250,501'
SELECT FORMAT(12332.123456, 4); -- '12,332.1235'
SELECT FORMAT(12332.1, 4); -- '12.332.1000'
SELECT FORMAT(12332.2, 0); -- '12,332'
SELECT FORMAT(12332.2, 2, 'de_DE'); -- '12.332,20'

6. LOWER

  1. 정의: 문자열을 소문자로 변환한다.
  2. 문법:
    1
    
    LOWER(column | expression)
    
1
SELECT empno, ename FROM emp WHERE LOWER(ename) = 'scott';

7. UPPER

  1. 정의: 문자열을 대문자로 변환한다.
  2. 문법:
    1
    
    UPPER(column | expression)
    
1
SELECT empno, ename, deptno FROM emp WHERE ename = UPPER('blake');

8. CONCAT

  1. 정의: 두 개 이상의 문자열을 결합한다.
  2. 문법:
    1
    
    CONCAT(expression1, expression2, expression3, ...)
    
1
SELECT CONCAT("SQL ", "Tutorial ", "is ", "fun!");

9. SUBSTRING

  1. 정의: 문자열의 일부를 추출한다.
  2. 문법:
    1
    
    SUBSTRING(string, start, length)
    
1
2
3
4
5
SELECT SUBSTRING('Quadratically', 5); -- 'ratically'
SELECT SUBSTRING('foobarbar' FROM 4); -- 'barbar'
SELECT SUBSTRING('Quadratically', 5, 6); -- 'ratica'
SELECT SUBSTRING('Sakila', -3); -- 'ila'
SELECT SUBSTRING('Sakila', -5, 3); -- 'aki'

10. INSTR

  1. 정의: 문자열에서 특정 하위 문자열의 첫 번째 위치를 반환한다.
  2. 문법:
    1
    
    INSTR(str, substr)
    
1
2
SELECT INSTR('foobarbar', 'bar'); -- 4
SELECT INSTR('xbar', 'foobar'); -- 0

11. LPAD, RPAD

  1. 정의: 문자열을 왼쪽 또는 오른쪽에서 다른 문자열로 채워 지정된 길이를 만든다.
  2. 문법:
    1
    2
    
    LPAD(string, length, lpad_string)
    RPAD(string, length, rpad_string)
    
1
SELECT LPAD("SQL Tutorial", 20, "ABC"); -- 'ABCABCABSQL Tutorial'

12. LTRIM, RTRIM

  1. 정의: 문자열의 선행 또는 후행 공백을 제거한다.
  2. 문법:
    1
    2
    
    LTRIM(string)
    RTRIM(string)
    
1
SELECT LTRIM(" SQL Tutorial"); -- 'SQL Tutorial'

13. REPLACE

  1. 정의: 문자열 내의 모든 하위 문자열을 다른 하위 문자열로 바꾼다.
  2. 문법:
    1
    
    REPLACE(string, substring, new_string)
    
1
SELECT REPLACE("SQL Tutorial", "SQL", "HTML"); -- 'HTML Tutorial'

14. REPEAT

  1. 정의: 문자열을 지정된 횟수만큼 반복한다.
  2. 문법:
    1
    
    REPEAT(string, number)
    
1
SELECT REPEAT("SQL Tutorial", 3); -- 'SQL TutorialSQL TutorialSQL Tutorial'

15. REVERSE

  1. 정의: 문자열을 반대로 뒤집어 반환한다.
  2. 문법:
    1
    
    REVERSE(string)
    
1
SELECT REVERSE("SQL Tutorial"); -- 'la

16. SPACE

  1. 정의: 지정된 수의 공백 문자를 포함하는 문자열을 반환한다.
  2. 문법:
    1
    
    SPACE(number)
    
1
SELECT SPACE(6); -- '      '

변환 함수 (Conversion Functions)

1. CAST

  1. 정의: 값을 지정된 데이터 유형으로 변환한다.
  2. 문법:
    1
    
    CAST(value AS datatype)
    
1
2
SELECT CAST(150 AS CHAR); -- '150'
SELECT CAST("14:06:10" AS TIME); -- '14:06:10'

2. CONVERT

  1. 정의: 값을 지정된 데이터 유형이나 문자 세트로 변환한다.
  2. 문법:
    1
    2
    3
    
    CONVERT(value, type)
    또는
    CONVERT(value USING charset)
    
1
SELECT CONVERT(150, CHAR); -- '150'

정보 함수 (Information Functions)

1. DATABASE

  1. 정의: 현재 데이터베이스 이름을 문자열로 반환한다.
  2. 문법:
    1
    
    DATABASE()
    
1
SELECT DATABASE();

2. USER (SESSION_USER, SYSTEM_USER)

  1. 정의: 현재 MySQL 사용자 이름과 호스트 이름을 문자열로 반환한다.
  2. 문법:
    1
    
    USER()
    
1
SELECT USER();

3. VERSION

  1. 정의: MySQL 서버 버전을 나타내는 문자열을 반환한다.
  2. 문법:
    1
    
    VERSION()
    
1
SELECT VERSION();
This post is licensed under CC BY 4.0 by the author.

© sseung. Some rights reserved.