반응형
내가 가진 SQL 쿼리에서 CASE 문을 사용하려고하는데 내가 생각한 방식으로 작동하지 않습니다.
기본적으로 수행해야 할 세 가지 시나리오가 있으며 날짜 필드를 사용하여 예를 들어 다음 데이터가 있습니다.
id | date_activated
1 | 2011-10-10 07:00:06
2 | 2011-03-12 10:00:00
3 | 2011-11-27 18:10:36
4 | 2010-01-25 14:30:43
5 | 0000-00-00 00:00:00
다음 SQL 사용 :
select id,
case date_activated
when date_activated > '2011-11-23 18:30:00' then 'after'
when date_activated > '2010-01-20 00:00:00' then 'before'
else 'not yet'
end as date_note
from table1
가져와야합니다 :
id | date_activated | date_note
1 | 2011-10-10 07:00:06 | before
2 | 2011-03-12 10:00:00 | before
3 | 2011-11-27 18:10:36 | after
4 | 2010-01-25 14:30:43 | before
5 | 0000-00-00 00:00:00 | not yet
그러나 이것은 이것을 이끌어 내고 있습니다.
id | date_activated | date_note
1 | 2011-10-10 07:00:06 | not yet
2 | 2011-03-12 10:00:00 | not yet
3 | 2011-11-27 18:10:36 | not yet
4 | 2010-01-25 14:30:43 | not yet
5 | 0000-00-00 00:00:00 | after
내가 뭘 잘못하고 있는지 이해할 수 없지만 간단한 일이라고 확신합니다!
해결 방법
이거 한번 해봐 -
SELECT
id,
CASE
WHEN date_activated > '2011-11-23 18:30:00' THEN 'after'
WHEN date_activated > '2010-01-20 00:00:00' THEN 'before'
ELSE 'not yet'
END AS date_note
FROM table1;
MySQL에는 두 가지 CASE 흐름 함수가 있으며 하나는 조건과 함께 사용해야합니다.
참조 페이지 https://stackoverflow.com/questions/8297488
반응형
'MySql' 카테고리의 다른 글
MySQL Mysql BOOL 필드에 어떤 값을 사용해야합니까? TRUE / FALSE 또는 1/0, 왜? (0) | 2020.09.27 |
---|---|
MySQL INSERT INTO ... 모든 열을 자세히 설명하지 않고 SELECT (0) | 2020.09.27 |
MySQL은 기본 키를보고하지만 테이블에서 삭제할 수 없습니다. (0) | 2020.09.26 |
MySQL 페이지 당 사용 된 총 MySQL 쿼리 수를 어떻게 계산할 수 있습니까? (0) | 2020.09.26 |
MySQL의 외래 키 제약 조건 오류 1452-Magento Import (0) | 2020.09.26 |
댓글