>  기사  >  데이터 베이스  >  mysql에서 null을 대체하는 IFNULL() 및 COALESCE() 함수에 대한 자세한 설명

mysql에서 null을 대체하는 IFNULL() 및 COALESCE() 함수에 대한 자세한 설명

黄舟
黄舟원래의
2017-06-18 10:52:341691검색

이 글에서는 null을 대체하는 mysql의 IFNULL() 및 COALESCE() 함수에 대한 내용을 주로 소개하고 있으며, 이는 참고가 될 것입니다. 배움의 가치, 필요한 친구들은 아래를 구경하러 오세요.

MySQL에서는 isnull() 함수를 null 값 대신 사용할 수 없습니다! isnull()函数不能作为替代null值!

如下:

首先有个名字为business的表:


SELECT ISNULL(business_name,'no business_name') AS bus_isnull FROM business WHERE id=2

直接运行就会报错:

错误代码: 1582


Incorrect parameter count in the call to native function 'isnull'

所以,isnull()函数在mysql中就行不通了。可以用ifnull()coalesce()代替。如下:

使用ifnull()函数:


SELECT IFNULL(business_name,'no business_name') AS bus_ifnull FROM business WHERE id=2

运行结果:


查询的值不为null时:


SELECT IFNULL(business_name,'no business_name') AS bus_ifnull FROM business WHERE id=1

结果如下:


使用coalesce()函数:


SELECT COALESCE(business_name,'no business_name') AS bus_coalesce FROM business WHERE id=2

结果如下:

 

当查询值不为null时:


SELECT COALESCE(business_name,'no business_name') AS bus_coalesce FROM business WHERE id=1

其中:coalesce()还可以返回第一个不为null的值。如下:


SELECT COALESCE(business_name,district_id,id) AS bus_coalesce FROM business WHERE id=2

那么,isnull()在mysql中怎么用呢?答案就是用在where后面。如下:


SELECT * FROM business WHERE ISNULL(business_name)

结果如下:


同样,is null is not null

는 다음과 같습니다.

먼저 business라는 테이블이 있습니다.


SELECT * FROM business WHERE business_name IS NULL

직접 실행하면 오류가 발생합니다:

오류 코드: 1582

SELECT * FROM business WHERE business_name IS NOT NULL
그래서 isnull() code> 함수는 mysql에서 작동하지 않습니다. 대신 <code>ifnull()coalesce()를 사용할 수 있습니다. 다음과 같습니다:

🎜🎜ifnull() 함수 사용: 🎜🎜🎜🎜rrreee🎜실행 결과: 🎜🎜🎜🎜🎜🎜쿼리 🎜의 값이 null이 아닌 경우: 🎜🎜🎜🎜rrreee🎜결과는 다음과 같습니다. 🎜🎜🎜 coalesce () 함수 사용 : 🎜🎜🎜🎜rrreee🎜 결과는 다음과 같습니다. alt="" src="https:/ /img.php.cn/upload/article/000/000/194/d349f725ed893303ec7cfecaa6913794-3.jpg"/> 🎜🎜🎜쿼리 값이 null이 아닌 경우: 🎜🎜🎜🎜 rrreee🎜🎜🎜그 중: coalesce() 는 값이 null이 아닌 첫 번째 값을 반환할 수도 있습니다. 다음과 같습니다: 🎜🎜🎜🎜rrreee🎜🎜🎜그럼, isnull()mysql에서 어떻게 사용하나요? 대답은 where 다음에 사용하는 것입니다. 🎜🎜🎜🎜rrreee🎜결과는 다음과 같습니다. 🎜🎜🎜🎜🎜🎜마찬가지로 is null is not null 도 where 뒤에 사용됩니다. 🎜🎜🎜🎜rrreee🎜결과는 다음과 같습니다. 🎜🎜🎜🎜🎜🎜🎜🎜rrreee🎜🎜🎜🎜🎜🎜요약🎜🎜🎜

위 내용은 mysql에서 null을 대체하는 IFNULL() 및 COALESCE() 함수에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.