>데이터 베이스 >MySQL 튜토리얼 >MySQL의 IF() 함수를 사용하여 SELECT 문의 열 값을 조건부로 조정하려면 어떻게 해야 합니까?

MySQL의 IF() 함수를 사용하여 SELECT 문의 열 값을 조건부로 조정하려면 어떻게 해야 합니까?

Barbara Streisand
Barbara Streisand원래의
2025-01-20 21:51:11163검색

How Can I Use MySQL's IF() Function to Conditionally Adjust Column Values in a SELECT Statement?

SELECT 문에서 MySQL의 IF() 함수를 사용한 조건부 열 값 조정

MySQL의 SELECT 문은 데이터를 검색합니다. 경우에 따라 동일한 행 내의 다른 열을 기반으로 열의 출력을 조건부로 수정해야 합니다. IF() 기능이 이를 용이하게 합니다.

시나리오:

report 테이블이 있고 amount 열을 기반으로 type 열의 기호를 조작해야 한다고 가정해 보겠습니다. type이 'P'이면 amount는 양수여야 합니다. 'N'인 경우 음수여야 합니다.

초기 쿼리:

<code class="language-sql">SELECT id, amount FROM report;</code>

조건부 수정:

IF()을 사용하여 원하는 조건부 조정을 달성하는 방법은 다음과 같습니다.

<code class="language-sql">SELECT id, 
       IF(type = 'P', amount, amount * -1) AS amount
FROM report;</code>

설명:

IF() 함수는 세 가지 매개변수를 사용합니다.

  • condition: 평가할 조건(type = 'P').
  • true_value: 조건이 true인 경우 반환되는 값(amount).
  • false_value: 조건이 false인 경우 반환되는 값(amount * -1).

AS amountIF() 함수의 결과에 출력용 별칭 amount을 할당합니다.

NULL 값 처리:

amountNULL일 수 있는 경우 강력한 처리를 위해 IFNULL()을 사용하세요.

<code class="language-sql">SELECT id, 
       IF(type = 'P', IFNULL(amount, 0), IFNULL(amount, 0) * -1) AS amount
FROM report;</code>

IFNULL()은 두 가지 인수를 사용합니다.

  • value: NULL(amount)에 대해 확인할 값입니다.
  • default_value: valueNULL(0)인 경우 반환할 값입니다.

추가 자료:

MySQL 흐름 제어 기능에 대한 자세한 내용은 공식 문서를 참조하세요. https://www.php.cn/link/0cfe3c931a81acba365b335768dd0d93

위 내용은 MySQL의 IF() 함수를 사용하여 SELECT 문의 열 값을 조건부로 조정하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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