SQL 일반 함수
1. IFNULL 함수
- IFNULL(value1, a)
- value1이 NULL이면 지정 값 a를 반환하고, 그렇지 않으면 value1을 반환
SELECT IFNULL(NULL, '재고 소진')
#결과: '재고 소진'
SELECT IFNULL(15, '재고 소진')
# 결과: 15
2. COALESCE 함수
- COALESCE(value1, value2, ..., valuen)
- 주어진 값들 중에서 첫 번째로 NULL이 아닌 값을 반환
- 모든 값이 NULL일 경우 NULL 반환
SELECT COALESCE(NULL, 'Value1', 'Value2')
# 결과: Value1
SELECT COALESCE(NULL, NULL, 'Value3')
# 결과: Value3
3. NULLIF 함수
- NULLIF(value1, value2)
- 두 값이 같으면 NULL을 반환하고, 다르면 value1 값을 반환
- 두 값이 같을 때 NULL을 반환하고자 할 때 유용
SELECT NULLIF(10, 10)
# 결과: NULL
SELECT NULLIF(20, 10)
# 결과: 20
4. IF 문
- IF(조건식, True_value, False_value)
- 주어진 조건식이 참이면 True_value를, 그렇지 않으면 False_value를 반환
SELECT value,
IF(value > 30, 'High', 'Low')
FROM example_data;
# 결과
+-------+----------+
| value | Category |
+-------+----------+
| 15 | Low |
| 35 | High |
| 25 | Low |
| 50 | High |
+-------+----------+
5. CASE 문
- CASE
WHEN [조건1] THEN [지정 값1]
WHEN [조건2] THEN [지정 값 2]
ELSE [지정 값 3]
END - 여러 조건을 평가하고 조건에 따른 각자의 결과를 반환
SELECT score,
CASE
WHEN grade >= 90 THEN 'A'
WHEN grade >= 80 THEN 'B'
WHEN grade >= 70 THEN 'C'
ELSE 'D'
END AS Grade
FROM student_scores;
# 결과
+-------+-------+
| score | Grade |
+-------+-------+
| 95 | A |
| 85 | B |
| 90 | A |
| 60 | D |
+-------+-------+
'Language > MySQL' 카테고리의 다른 글
SQL 순위 함수 (0) | 2024.01.28 |
---|---|
SQL 집계 함수 (0) | 2024.01.26 |
SQL 날짜형 함수 (0) | 2024.01.21 |
SQL 문자형 함수 (0) | 2024.01.20 |
SQL 숫자형 함수 (0) | 2024.01.19 |