반응형
MySQL 쿼리에서 IF ELSE 문을 쓰는 방법
MySQL 쿼리에서 IF ELSE 문을 작성하려면 어떻게 해야 합니까?
다음과 같은 경우:
mysql_query("...(irrelevant code).. IF(action==2&&state==0){state=1}");
어레이의 아래쪽에 있는 경우, 다음과 같이 할 수 있습니다.
$row['state']
//this should equal 1, the query should not change anything in the database,
//just the variable for returning the information
당신은 아마 표현을 쓰고 싶을 거예요.
다음과 같습니다.
SELECT col1, col2, (case when (action = 2 and state = 0)
THEN
1
ELSE
0
END)
as state from tbl1;
C/PHP 스타일이 아닌 SQL로 작성해야 합니다.
IF( action = 2 AND state = 0, 1, 0 ) AS state
질의에 사용하기 위해
IF ( action = 2 AND state = 0 ) THEN SET state = 1
저장 프로시저 또는 기능에서 사용
당신이 찾고 있는 것은case
:
case when action = 2 and state = 0 then 1 else 0 end as state
MySQL에는if
구문(if(action=2 and state=0, 1, 0)
), 단,case
보다 보편적입니다.
주의:as state
컬럼에 별칭을 붙일 뿐입니다.SQL 쿼리의 열 목록에 있는 것 같습니다.
SELECT col1, col2, IF( action = 2 AND state = 0, 1, 0 ) AS state from tbl1;
또는
SELECT col1, col2, (case when (action = 2 and state = 0) then 1 else 0 end) as state from tbl1;
두 결과 모두 동일합니다.
mySQL 레퍼런스 매뉴얼에 따르면 if와 else 문을 사용하는 구문은 다음과 같습니다.
IF search_condition THEN statement_list [ELSEIF search_condition THEN statement_list] ... [ELSE statement_list] END IF
문의하신 내용에 대해서:
x = IF((action=2)&&(state=0),1,2);
또는 를 사용할 수 있습니다.
IF ((action=2)&&(state=0)) then
state = 1;
ELSE
state = 2;
END IF;
다음 링크에는 좋은 예가 있습니다.http://easysolutionweb.com/sql-pl-sql/how-to-use-if-and-else-in-mysql/
언급URL : https://stackoverflow.com/questions/8763310/how-do-write-if-else-statement-in-a-mysql-query
반응형
'programing' 카테고리의 다른 글
복제 가능이 권장되지 않는 이유는 무엇입니까? (0) | 2023.02.06 |
---|---|
Java 8: Java.util.function의 TriFunction(및 kin)은 어디에 있습니까?아니면 대체방법이 뭐죠? (0) | 2023.02.06 |
소수점 두 자리로 플로트를 표시하는 방법은 무엇입니까? (0) | 2023.02.06 |
Lombok @Builder 및 JPA 기본 생성자 (0) | 2023.02.02 |
자동 완성을 위해 MYSQL과 PHP의 회사 이름을 애매하게 일치시키는 방법은 무엇입니까? (0) | 2023.02.02 |