반응형
postgresql의 IF-THEN-ELSE 문
다음을 수행하기 위해 postgresql 쿼리를 작성하려고 합니다.
if(field1 > 0, field2 / field1 , 0)
이 쿼리를 시도해 보았지만 작동하지 않습니다.
if (field1 > 0)
then return field2 / field1 as field3
else return 0 as field3
감사합니다
Postgre에 명시된 바와 같이.SQL 문서 위치:
SQL CASE 표현식은 다른 프로그래밍 언어의 if/else 문장과 유사한 일반 조건부 표현식입니다.
귀하의 질문에 구체적으로 답변하는 코드 조각:
SELECT field1, field2,
CASE
WHEN field1>0 THEN field2/field1
ELSE 0
END
AS field3
FROM test
case when field1>0 then field2/field1 else 0 end as field3
일반적으로, 의 대안.case when ...
이라coalesce(nullif(x,bad_value),y)
(OP의 경우에는 사용할 수 없음).예를들면,
select coalesce(nullif(y,''),x), coalesce(nullif(x,''),y), *
from ( (select 'abc' as x, '' as y)
union all (select 'def' as x, 'ghi' as y)
union all (select '' as x, 'jkl' as y)
union all (select null as x, 'mno' as y)
union all (select 'pqr' as x, null as y)
) q
제공:
coalesce | coalesce | x | y
----------+----------+-----+-----
abc | abc | abc |
ghi | def | def | ghi
jkl | jkl | | jkl
mno | mno | | mno
pqr | pqr | pqr |
(5 rows)
언급URL : https://stackoverflow.com/questions/19029842/if-then-else-statements-in-postgresql
반응형
'programing' 카테고리의 다른 글
Python 3.7 아나콘다 환경 - 가져오기 _ssl DLL 로드 실패 오류 (0) | 2023.05.28 |
---|---|
Xcode가 시작 화면을 다시 표시하도록 하는 방법은 무엇입니까? (0) | 2023.05.28 |
셸에서 프로그램 실행 시간 가져오기 (0) | 2023.05.28 |
윈도우 배치 파일을 사용하여 텍스트 파일의 각 줄을 어떻게 반복합니까? (0) | 2023.05.28 |
BitBucket - 소스를 ZIP으로 다운로드 (0) | 2023.05.28 |