MySQL에서 SELECT 문을 사용하여 null 값을 바꾸는 다른 방법은 무엇입니까?

王林
풀어 주다: 2023-09-07 11:13:10
앞으로
922명이 탐색했습니다.

在 MySQL 中使用 SELECT 语句替换空值有哪些不同的方法?

select 문을 사용하여 NULL 값을 바꾸는 옵션은 다양합니다. CASE 문이나 IFNULL() 또는 COALESCE()

를 사용할 수 있습니다. Case 1 - IFNULL()

IFNULL( 구문)을 사용하는 방법은 다음과 같습니다. -

SELECT IFNULL(yourColumnName,’yourValue’) AS anyVariableName from yourTableName;
로그인 후 복사

Case 2 - COALESCE()

COALESCE(를 사용합니다. ) 구문은 다음과 같습니다. -

SELECT COALESCE(yourColumnName,’yourValue’) AS anyVariableName from yourTableName;
로그인 후 복사

Case 3 - CASE 문 사용

CASE 문의 구문입니다.

SELECT CASE
WHEN yourColumnName IS NULL THEN ‘yourValue’
ELSE yourColumnName END AS anyVariableName FROM yourTableName
로그인 후 복사

위에서 논의한 내용을 이해하기 위해 테이블을 만들어 보겠습니다. 테이블을 생성하는 쿼리는 다음과 같습니다. -

mysql> create table ReplaceNULLDemo
   -> (
   -> Id int NOT NULL AUTO_INCREMENT,
   -> Name varchar(10),
   -> Marks int,
   -> PRIMARY KEY(Id)
   -> );
Query OK, 0 rows affected (0.62 sec)
로그인 후 복사

insert 명령을 사용하여 테이블에 일부 레코드를 삽입합니다. 쿼리는 다음과 같습니다. -

mysql> insert into ReplaceNULLDemo(Name,Marks) values('Larry',90);
Query OK, 1 row affected (0.16 sec)

mysql> insert into ReplaceNULLDemo(Name,Marks) values('Carol',NULL);
Query OK, 1 row affected (0.17 sec)

mysql> insert into ReplaceNULLDemo(Name,Marks) values('David',NULL);
Query OK, 1 row affected (0.14 sec)

mysql> insert into ReplaceNULLDemo(Name,Marks) values('Bob',67);
Query OK, 1 row affected (0.17 sec)

mysql> insert into ReplaceNULLDemo(Name,Marks) values('Sam',78);
Query OK, 1 row affected (0.19 sec)

mysql> insert into ReplaceNULLDemo(Name,Marks) values('Mike',NULL);
Query OK, 1 row affected (0.19 sec)

mysql> insert into ReplaceNULLDemo(Name,Marks) values('John',98);
Query OK, 1 row affected (0.16 sec)
로그인 후 복사

select 문을 사용하여 테이블의 모든 레코드를 표시합니다. 쿼리는 다음과 같습니다. -

mysql> select *from ReplaceNULLDemo;
로그인 후 복사

다음은 출력입니다. -

+----+-------+-------+
| Id | Name  | Marks |
+----+-------+-------+
|  1 | Larry |    90 |
|  2 | Carol |  NULL |
|  3 | David |  NULL |
|  4 | Bob   |    67 |
|  5 | Sam   |    78 |
|  6 | Mike  |  NULL |
|  7 | John  |    98 |
+----+-------+-------+
7 rows in set (0.00 sec)
로그인 후 복사

이제 NULL 값을 0으로 변환해 보겠습니다.

Case 1 - 다음과 같이 IFNULL()

을 사용하여 쿼리 -

mysql> select ifnull(Marks,0) as ReplacementOfNULLWith0 from ReplaceNULLDemo;
로그인 후 복사

아래는 NULL이 0으로 대체된 출력입니다. -

+------------------------+
| ReplacementOfNULLWith0 |
+------------------------+
|                     90 |
|                      0 |
|                      0 |
|                     67 |
|                     78 |
|                      0 |
|                     98 |
+------------------------+
7 rows in set (0.00 sec)
로그인 후 복사

Case 2 - 다음과 같이 COALESCE()

를 사용하여 쿼리 -

mysql> select coalesce(Marks,0) as ReplacementOfNULLWith0 from ReplaceNULLDemo;
로그인 후 복사

아래는 CASE 문을 사용하여 NULL을 0 -

+------------------------+
| ReplacementOfNULLWith0 |
+------------------------+
| 90 |
| 0 |
| 0 |
| 67 |
| 78 |
| 0 |
| 98 |
+------------------------+
7 rows in set (0.00 sec)
로그인 후 복사

Case 3으로 대체한 출력입니다.

쿼리는 다음과 같습니다 -

mysql> select case
   -> when Marks is null then 0
   -> else Marks end as ReplacementOfNULLWith0
   -> from ReplaceNULLDemo;
로그인 후 복사

다음은 NULL이 0으로 대체된 출력입니다 -

+------------------------+
| ReplacementOfNULLWith0 |
+------------------------+
| 90                     |
| 0                      |
| 0                      |
| 67                     |
| 78                     |
| 0                      |
| 98                     |
+------------------------+
7 rows in set (0.00 sec)
로그인 후 복사

위 내용은 MySQL에서 SELECT 문을 사용하여 null 값을 바꾸는 다른 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!