반응형
MySQL에서 삼항 조건 연산자를 구현하는 방법
MySQL에서 삼항 조건부 연산자를 구현하고 싶습니다. 하나의 필드 ID가있는 테이블이 있습니다. 값은 null 일 수 있습니다. 다음 id
과 같은 삼항 조건부 형식 으로 표시 하고 싶습니다.
select id = id == null ? 0 : id;
MySQL에서 가능합니까?
이 시도 :
select if(Id is null, 0, id) as Id;
문서 는 당신의 친구입니다. 읽어야합니다!
그것은 말한다 :
IFNULL(expr1,expr2)
그렇지
expr1
않은NULL
경우IFNULL()
반환합니다expr1
. 그렇지 않으면을 반환합니다expr2
.
그리고 많은 예. 이것은 NULL
비교 대상과 비교 대상을 두 번째 피연산자 로 사용하는 삼항 조건을 사용하는 것과 같습니다 . 이 기호를 사용하여 발생하지 않습니다 ?
그리고 :
당신은 아무것도 정말 관련이없는 얻을.
따라서 귀하의 경우 :
SELECT IFNULL(`id`, 0) FROM `table`
세 개의 피연산자를 명시 적으로 제공하고 싶다면 (왜?!) 다음으로 전환하십시오 IF
.
SELECT IF(`id` IS NULL, 0, `id`) FROM `table`
삼항 연산자와 동일한 논리를 구현할 수있는 두 가지 방법이 있습니다.
IF
예를 들어 기능을 사용하십시오 .IF(expression, true result, false result)
CASE
식을 사용하십시오 .CASE WHEN expression THEN <true result> ELSE <false_result> END
NULL을 확인할 때 IFNULL
또는 COALESCE
함수를 사용할 수 있습니다 .
IFNULL(ID, 0)
COALESCE(ID, 0)
참고 URL : https://stackoverflow.com/questions/8506379/how-to-implement-ternary-conditional-operator-in-mysql
반응형
'Programing' 카테고리의 다른 글
MATLAB에서 동일한 파일에 스크립트와 함수 정의가있을 수 있습니까? (0) | 2020.10.17 |
---|---|
현재 클립 보드 콘텐츠를 받으시겠습니까? (0) | 2020.10.17 |
Pandas 데이터 프레임에서 NaN으로 행의 정수 인덱스 찾기 (0) | 2020.10.16 |
gnuplot 내부의 루프 구조? (0) | 2020.10.16 |
Android Studio : 새로 생성 된 디렉터리가 폴더보기에 나타나지 않음 (0) | 2020.10.16 |