MySQL : Built-in (내장) 함수
SQL Functions
문자 함수 (String Functions)
1. ASCII, CHAR
- 정의: 특정 문자의 ASCII 값을 반환하거나, 특정 ASCII 코드의 문자열 값을 반환한다.
- 문법:
1 2
ASCII(str) CHAR(number)
1
2
SELECT ASCII('2'); -- 50
SELECT CHAR(77,121,83,81,'76'); -- 'MySQL'
2. BIT_LENGTH
- 정의: 문자열의 비트 길이를 반환한다.
- 문법:
1
BIT_LENGTH(str)
1
2
SELECT BIT_LENGTH('hello'); -- 40
SELECT BIT_LENGTH('안녕'); -- 48
3. CHAR_LENGTH
- 정의: 문자열의 길이를 문자 단위로 반환한다.
- 문법:
1
CHAR_LENGTH(str)
1
2
SELECT CHAR_LENGTH("SQL Tutorial"); -- 12
SELECT CHAR_LENGTH("안녕"); -- 2
4. LENGTH
- 정의: 문자열의 길이를 바이트 단위로 반환한다.
- 문법:
1
LENGTH(str)
1
2
SELECT LENGTH("SQL Tutorial"); -- 12
SELECT LENGTH("안녕"); -- 6
5. FORMAT
- 정의: 숫자를 지정된 소수점 자리로 반올림하고 “#,###,###.##” 형식으로 문자열로 반환한다.
- 문법:
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
LOWER(column | expression)
1
SELECT empno, ename FROM emp WHERE LOWER(ename) = 'scott';
7. UPPER
- 정의: 문자열을 대문자로 변환한다.
- 문법:
1
UPPER(column | expression)
1
SELECT empno, ename, deptno FROM emp WHERE ename = UPPER('blake');
8. CONCAT
- 정의: 두 개 이상의 문자열을 결합한다.
- 문법:
1
CONCAT(expression1, expression2, expression3, ...)
1
SELECT CONCAT("SQL ", "Tutorial ", "is ", "fun!");
9. SUBSTRING
- 정의: 문자열의 일부를 추출한다.
- 문법:
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
INSTR(str, substr)
1
2
SELECT INSTR('foobarbar', 'bar'); -- 4
SELECT INSTR('xbar', 'foobar'); -- 0
11. LPAD, RPAD
- 정의: 문자열을 왼쪽 또는 오른쪽에서 다른 문자열로 채워 지정된 길이를 만든다.
- 문법:
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
LTRIM(string) RTRIM(string)
1
SELECT LTRIM(" SQL Tutorial"); -- 'SQL Tutorial'
13. REPLACE
- 정의: 문자열 내의 모든 하위 문자열을 다른 하위 문자열로 바꾼다.
- 문법:
1
REPLACE(string, substring, new_string)
1
SELECT REPLACE("SQL Tutorial", "SQL", "HTML"); -- 'HTML Tutorial'
14. REPEAT
- 정의: 문자열을 지정된 횟수만큼 반복한다.
- 문법:
1
REPEAT(string, number)
1
SELECT REPEAT("SQL Tutorial", 3); -- 'SQL TutorialSQL TutorialSQL Tutorial'
15. REVERSE
- 정의: 문자열을 반대로 뒤집어 반환한다.
- 문법:
1
REVERSE(string)
1
SELECT REVERSE("SQL Tutorial"); -- 'la
16. SPACE
- 정의: 지정된 수의 공백 문자를 포함하는 문자열을 반환한다.
- 문법:
1
SPACE(number)
1
SELECT SPACE(6); -- ' '
변환 함수 (Conversion Functions)
1. CAST
- 정의: 값을 지정된 데이터 유형으로 변환한다.
- 문법:
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 3
CONVERT(value, type) 또는 CONVERT(value USING charset)
1
SELECT CONVERT(150, CHAR); -- '150'
정보 함수 (Information Functions)
1. DATABASE
- 정의: 현재 데이터베이스 이름을 문자열로 반환한다.
- 문법:
1
DATABASE()
1
SELECT DATABASE();
2. USER (SESSION_USER, SYSTEM_USER)
- 정의: 현재 MySQL 사용자 이름과 호스트 이름을 문자열로 반환한다.
- 문법:
1
USER()
1
SELECT USER();
3. VERSION
- 정의: MySQL 서버 버전을 나타내는 문자열을 반환한다.
- 문법:
1
VERSION()
1
SELECT VERSION();
This post is licensed under CC BY 4.0 by the author.