인수 중 하나라도 NULL이면, 특히 열의 값을 연결하려고 하고 열의 값이 NULL인 경우 CONCAT() 함수의 속성을 어떻게 극복할 수 있습니까?

王林
풀어 주다: 2023-09-07 10:49:02
앞으로
1073명이 탐색했습니다.

我们如何克服 CONCAT() 函数的属性,即如果任何一个参数为 NULL,它就会返回 NULL,特别是当我们想要连接列中的值并且任何列的值都为 NULL 时?

위 속성은 거의 쓸모가 없습니다. 특히 열의 값을 연결하려고 하고 열의 값이 NULL인 경우에는 더욱 그렇습니다. 이 문제를 극복하기 위해 IFNULL() 함수와 CONCAT() 함수를 사용할 수 있습니다. 이를 이해하기 위해 "Student_name;" 테이블의 예를 살펴보겠습니다. 다음과 같은 데이터가 있습니다 -

mysql> Select * from Student_Name;
+---------+-------+---------+
| FName   | Mname | Lname   |
+---------+-------+---------+
| Rahul   | NULL  | Singh   |
| Gaurav  | Kumar | NULL    |
| Harshit | NULL  | Khurana |
| Yash    | Pal   | Sharma  |
+---------+-------+---------+
4 rows in set (0.00 sec)
로그인 후 복사

이제 Fname, Mname 및 Lname 열의 값을 연결하려는 경우 출력은 다음과 같습니다. -

mysql> Select CONCAT(Fname,Mname,Lname)AS Name from Student_Name;
+---------------+
| Name          |
+---------------+
| NULL          |
| NULL          |
| NULL          |
| YashPalSharma |
+---------------+
4 rows in set (0.00 sec)
로그인 후 복사

그러나 우리는 이것이 유용한 출력이 아니라는 것을 알고 있습니다. CONCAT() 함수의 속성은 이며, 매개변수 중 하나라도 NULL이면 NULL을 반환한다. 다음 쿼리에 표시된 대로 IFNULL() 함수의 도움으로 이 속성을 극복할 수 있습니다. -

mysql> Select CONCAT(IFNULL(Fname,''),IFNULL(Mname,''),IFNULL(Lname,''))AS Name from Student_Name;
+----------------+
| Name           |
+----------------+
| RahulSingh     |
| GauravKumar    |
| HarshitKhurana |
| YashPalSharma  |
+----------------+
4 rows in set (0.06 sec)
로그인 후 복사

위 내용은 인수 중 하나라도 NULL이면, 특히 열의 값을 연결하려고 하고 열의 값이 NULL인 경우 CONCAT() 함수의 속성을 어떻게 극복할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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