Xử lý dữ liệu trong Snowflake
Jake Roach
Field Data Engineer
$$
Đôi khi có thêm giá trị không khớp bất kỳ phần
WHEN ... THEN.
$$
ELSE để bao quát các trường hợp nàySELECT
student,
CASE
WHEN grade_num = 12 THEN 'Senior'
WHEN grade_num = 11 THEN 'Junior'
...
ELSE 'Not in HS' -- Catch others!
END AS grade
FROM students;
| student | grade |
| ---------- | ---------- |
| Viraj | Junior |
| Stephanie | Senior |
| Lewis | Not in HS |
| Toán tử | Điều kiện | Ví dụ |
|---|---|---|
= |
Giá trị bằng giá trị khác | column_a = 'value_a' |
IN (...) |
Giá trị nằm trong danh sách | column_a IN ('value_a', 'value_b') |
>, < |
Lớn hơn hoặc nhỏ hơn giá trị khác | column_a > 0 |
>=, <= |
Tương ứng với > và <, bao gồm bằng |
column_a >= 0 |
BETWEEN |
Nằm giữa hai giá trị, bao gồm biên | column_a BETWEEN 0 AND 10 |
Có thể kết hợp các toán tử so sánh với AND, OR, hoặc NOT
Câu lệnh CASE trong Snowflake hiệu quả do là cơ sở dữ liệu hướng cột
SELECT todays_date, temperature, CASEWHEN temperature BETWEEN 70 AND 90 THEN 'Ideal for Swimming'WHEN temperature >= 50 AND tempreature < 70 THEN 'Perfect for Sports'WHEN temperature > 32 AND temperature < 50 THEN 'Spring/Fall Temps' WHEN temperature > 0 AND temperature <= 32 THEN 'Winter Weather' ELSE 'Extreme Temperatures'END AS temperature_description FROM weather;

SELECT todays_date, temperature, status,CASE WHEN temperature > 70 AND status NOT IN ('Rain', 'Wind') THEN 'Beach'WHEN temperature BETWEEN 45 AND 70 AND status = 'Sun' THEN 'Sports'WHEN temperature <= 32 OR status = 'Snow' THEN 'Skiing'ELSE 'Stay In' END AS activity FROM weather;
Ta có thể đánh giá nhiều cột trong một câu lệnh
CASE

Xử lý dữ liệu trong Snowflake