> 데이터 베이스 > MySQL 튜토리얼 > mysql에서 null을 대체하는 IFNULL() 및 COALESCE() 함수에 대한 자세한 설명

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

黄舟
풀어 주다: 2017-06-18 10:52:34
원래의
1792명이 탐색했습니다.

이 글에서는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿