필드 값의 변환을 위해 사용
CASE
WHEN 조건1 THEN 값1
WHEN 조건2 THEN 값2
ELSE 값3
END 필드이름
필드이름의 애트리뷰트로 조건에 따라 값들이 적용된다
예시
SELECT channel_id, CASE
WHEN channel_id in (1,5,6) THEN 'Social-Media'
WHEN channel_id in (2,4) THEN 'Search-Engine'
ELSE 'Something-Else'
END channel_type
FROM prod.session;
모든 레코드를 카운트하는 COUNT(*)
, COUNT(0)
, COUNT(1)
과 달리 COUNT(필드명)
은 해당 필드의 값을 차례대로 넣어보기 때문에 NULL이 아닐때만 카운트한다
같은 이유로 COUNT(DISTINCT 필드명)
형태로 사용시 NULL을 제외한 필드의 값의 종류의 수를 카운트한다
cast()
나 convert()
함수로 변환할 수 있다
예시
cast('100.0' as float);
convert('100.0', float);