`CASE` स्टेटमेंट्स के साथ conditional logic

Snowflake में डेटा मैनिपुलेशन

Jake Roach

Field Data Engineer

`ELSE` का उपयोग

$$

कभी-कभी कुछ अतिरिक्त values होती हैं जो WHEN ... THEN में नहीं आतीं.

$$

  • इन अतिरिक्त scenarios को पकड़ने के लिए ELSE का उपयोग करें
  • Edge cases पकड़ने का बढ़िया तरीका
SELECT
    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 |
Snowflake में डेटा मैनिपुलेशन

कंडीशन का मूल्यांकन

Operator Condition Example
= Value किसी और value के बराबर है column_a = 'value_a'
IN (...) Value values की list में है column_a IN ('value_a', 'value_b')
>, < Value किसी और value से बड़ा या छोटा है column_a > 0
>=, <= > और < के counterparts, बराबरी भी शामिल column_a >= 0
BETWEEN Value दो values के बीच है, inclusive column_a BETWEEN 0 AND 10

इन comparison operators को AND, OR, या NOT के साथ जोड़ा जा सकता है

Snowflake में CASE स्टेटमेंट्स efficient हैं क्योंकि यह column-oriented database है

Snowflake में डेटा मैनिपुलेशन

तापमान का वर्गीकरण

SELECT
    todays_date,
    temperature,
    CASE

WHEN 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;
Snowflake में डेटा मैनिपुलेशन

तापमान का वर्गीकरण

एक टेबल जिसमें CASE स्टेटमेंट के नतीजे तापमान के आधार पर रिकॉर्ड्स को वर्गीकृत करते दिखते हैं

Snowflake में डेटा मैनिपुलेशन

कंडीशनल स्टेटमेंट्स को जोड़ना

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;

हम एक ही CASE स्टेटमेंट में कई columns evaluate कर सकते हैं

Snowflake में डेटा मैनिपुलेशन

कंडीशनल स्टेटमेंट्स को जोड़ना

एक टेबल जिसमें CASE स्टेटमेंट के नतीजे तापमान और आउटडोर स्टेटस के आधार पर रिकॉर्ड्स को वर्गीकृत करते दिखते हैं

Snowflake में डेटा मैनिपुलेशन

अभ्यास करते हैं!

Snowflake में डेटा मैनिपुलेशन

Preparing Video For Download...