2.1 కేసు ప్రకటన
SQLలో స్టేట్మెంట్ రాయడానికి రెండు మార్గాలు ఉన్నాయి CASE
. మొదటి ఎంట్రీ జావా భాష నుండి మారినట్లుగా కనిపిస్తుంది, రెండవ ఫార్మాట్ బహువచనం వలె ఉంటుంది if-else
.
స్విచ్ యొక్క అనలాగ్ - మొదటి ఎంపికతో ప్రారంభిద్దాం. సాధారణ ఆకృతి:
CASE case_value
WHEN value1 THEN result1
[WHEN value2 THEN result2] ...
[ELSE resultN]
END
నిజంగా చాలా పోలి ఉంటుంది switch
, పదాలు మాత్రమే కొద్దిగా భిన్నంగా ఉంటాయి:
SQL | జావా |
---|---|
కేసు x | మారండి (x) { |
విలువ ఉన్నప్పుడు | కేసు విలువ: |
అప్పుడు ఫలితం | తిరిగి ఫలితం; |
ఇతర ఫలితం | డిఫాల్ట్: రిటర్న్ రిజల్ట్; |
ముగింపు | } |
జావా నుండి SQLకి ఒక ఉదాహరణను అనువదిద్దాం:
జావా | SQL |
---|---|
|
|
2.2 CASE స్టేట్మెంట్ యొక్క రెండవ వెర్షన్
ఆపరేటర్ యొక్క రెండవ సంస్కరణ కూడా ఉంది CASE
, ఇది పైన పేర్కొన్నట్లుగా, బహువచనం వలె ఉంటుంది if-else
. సాధారణ ఆకృతి:
CASE
WHEN condition 1 THEN result1
[WHEN condition 2 THEN result2] ...
[ELSE resultN]
END
ఇక్కడ, షరతులు క్రమానుగతంగా తనిఖీ చేయబడతాయి, వాటిలో ఏవైనా నిజమైతే, పేర్కొన్న ఫలితం తిరిగి ఇవ్వబడుతుంది. షరతుల్లో ఏదీ నిజం కాకపోతే, లో పేర్కొన్న విలువ ELSE
.
జావా నుండి SQLకి ఒక ఉదాహరణను అనువదిద్దాం:
జావా | SQL |
---|---|
|
|
|
|
|
|
2.3 CASE స్టేట్మెంట్ ఉపయోగించి సమస్యను పరిష్కరించండి
కొన్ని ఆసక్తికరమైన ప్రశ్నలను వ్రాసుకుందాం. గుర్తుంచుకోండి, మేము ఒక పనిని కలిగి ఉన్నాము - "ఎక్స్పైర్డ్!" అనే పదాన్ని జోడించడం. టాస్క్ టేబుల్లోని గత టాస్క్ల పేరుకు . ఇది తో సులభంగా చేయవచ్చు CASE
.
గడువు ఫీల్డ్ కోసం , ఇది ప్రకటన యొక్క రెండవ సంస్కరణ వలె కనిపిస్తుంది CASE
:
CASE
WHEN deadline < CURDATE() THEN CONCAT('EXPIRED!', name)
ELSE name
END
ఆపరేటర్ని ఉపయోగించి పూర్తి ప్రశ్నకు ఉదాహరణ CASE
:
SELECT
id,
emploee_id,
CASE WHEN deadline < CURDATE() THEN CONCAT('EXPIRED!', name) ELSE name END AS name,
deadline
FROM task
ఈ ప్రశ్న యొక్క ఫలితం ఇలా ఉంటుంది:
id | ఉద్యోగి_ఐడి | పేరు | గడువు |
---|---|---|---|
1 | 1 | గడువు ముగిసింది! ఫ్రంటెండ్లో బగ్ను పరిష్కరించండి | 2022-06-01 |
2 | 2 | బ్యాకెండ్లో బగ్ను పరిష్కరించండి | 2022-06-15 |
3 | 5 | కాఫీ కొనండి | 2022-07-01 |
4 | 5 | కాఫీ కొనండి | 2022-08-01 |
5 | 5 | కాఫీ కొనండి | 2022-09-01 |
6 | (శూన్య) | కార్యాలయాన్ని శుభ్రం చేయండి | (శూన్య) |
7 | 4 | జీవితం ఆనందించండి | (శూన్య) |
8 | 6 | జీవితం ఆనందించండి | (శూన్య) |
GO TO FULL VERSION