집 >데이터 베이스 >MySQL 튜토리얼 >Mysql의 nvl() 함수와 유사한 ifnull() 함수에 대한 자세한 설명에 대한 간략한 토론
다음 편집기에서는 Mysql의 nvl() 함수와 유사한 ifnull() 함수에 대해 간략하게 설명합니다. 편집자님이 꽤 좋다고 생각하셔서 지금 공유하고 모두에게 참고용으로 드리고자 합니다. 편집기를 따라가며 살펴보겠습니다.
추천 관련 mysql 비디오 튜토리얼: "mysql 튜토리얼"
IFNULL(expr1,expr2)
If expr1 NULL이 아닌 경우, IFNULL()은 expr1을 반환하고, 그렇지 않으면 expr2를 반환합니다. IFNULL()은 사용되는 컨텍스트에 따라 숫자 또는 문자열 값을 반환합니다.
mysql> select IFNULL(1,0); -> 1 mysql> select IFNULL(0,10); -> 0 mysql> select IFNULL(1/0,10); -> 10 mysql> select IFNULL(1/0,'yes'); -> 'yes' IF(expr1,expr2,expr3)
expr1이 TRUE(expr10 및 expr1NULL)이면 IF()는 expr2를 반환하고, 그렇지 않으면 expr3을 반환합니다. IF()는 사용되는 컨텍스트에 따라 숫자 또는 문자열 값을 반환합니다.
mysql> select IF(1>2,2,3); -> 3 mysql> select IF(1<2,'yes','no'); -> 'yes' mysql> select IF(strcmp('test','test1'),'yes','no'); -> 'no'
expr1은 정수 값으로 평가됩니다. 즉, 부동 소수점 또는 문자열 값을 테스트하려면 비교 연산을 사용해야 합니다.
mysql> select IF(0.1,1,0); -> 0 mysql> select IF(0.1<>0,1,0); -> 1
위의 첫 번째 경우에서 IF(0.1)는 0.1이 정수 값으로 변환되어 IF(0)이 테스트되기 때문에 0을 반환합니다. 이것은 당신이 기대하는 것이 아닐 수도 있습니다. 두 번째 경우 비교에서는 원래 부동 소수점 값이 0이 아닌지 확인하고 비교 결과가 정수로 사용됩니다.
CASE value WHEN [compare-value] THEN result [WHEN [compare-value] THEN result ...] [ELSE result] END CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END
첫 번째 버전은 값=비교-값인 결과를 반환합니다. 두 번째 버전에서는 첫 번째 조건이 true이면 결과가 반환됩니다. 일치하는 결과 값이 없으면 ELSE 이후의 결과에 해당하는 결과가 반환됩니다. ELSE 부분이 없으면 NULL이 반환됩니다.
mysql> SELECT CASE 1 WHEN 1 THEN "one" WHEN 2 THEN "two" ELSE "more" END; -> "one" mysql> SELECT CASE WHEN 1>0 THEN "true" ELSE "false" END; -> "true" mysql> SELECT CASE BINARY "B" when "a" then 1 when "b" then 2 END; -> NULL
위 내용은 MySQL의 nvl() 함수와 유사한 ifnull() 함수에 대한 자세한 설명입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!