Select*fromStudent_Name;+---------+-------+---------+|FName |Mname|Lname |+- - --------+---------+---------+|라후"/> Select*fromStudent_Name;+---------+-------+---------+|FName |Mname|Lname |+- - --------+---------+---------+|라후">

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

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

王林
王林앞으로
2023-09-07 10:49:021056검색

我们如何克服 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으로 문의하시기 바랍니다. 삭제