Följande är villkorliga uttryck i SQL
- CASE-uttrycket: Låter dig använda IF-THEN-ELSE-satser utan att behöva anropa procedurer.
-
Input: SELECT GREATEST('XYZ', 'xyz') from dual;>Output: GREATEST('XYZ', 'xyz') xyz>Förklaring: ASCII-värdet för små alfabet är högre.
-
Input: SELECT GREATEST('XYZ', null, 'xyz') from dual; Output: GREATEST('XYZ', null, 'xyz') ->Förklaring: Eftersom null är närvarande kommer null att visas som utdata (som nämnts att notera i beskrivningen ovan).
-
Input: SELECT IFNULL(1,0) FROM dual;>
Output: - 1>
Förklaring : Eftersom inget uttryck är null.
-
Input: SELECT IFNULL(NULL,10) FROM dual; Output: -- 10>
Förklaring: Eftersom expr1 är null visas därför expr2.
-
strong>Inmatning: VÄLJ MINST('XYZ', 'xyz') från dual; Utdata: MINST('XYZ', 'xyz') XYZ>Förklaring: ASCII-värdet för stora alfabet är mindre.
-
Input: SELECT LEAST('XYZ', null, 'xyz') from dual; Output: LEAST('XYZ', null, 'xyz') ->Förklaring: Eftersom null är närvarande kommer null att visas som utdata (som nämnts att notera i beskrivningen ovan).
I ett enkelt CASE-uttryck söker SQL efter det första paret WHEN……THEN för vilket expr är lika med comparison_expr och returnerar return_expr. Om ovanstående villkor inte är uppfyllt, finns en ELSE-sats, SQL returnerar else_expr. Annars returneras NULL.
Vi kan inte ange bokstavlig null för return_expr och else_expr. Alla uttryck (expr, comparison_expr, return_expr) måste vara av samma datatyp.
Syntax:
CASE expr WHEN comparison_expr1 THEN return_expr1 [ WHEN comparison_expr2 THEN return_expr2 . . . WHEN comparison_exprn THEN return_exprn ELSE else_expr] END>
Exempel:
Input : SELECT first_name, department_id, salary, CASE department_id WHEN 50 THEN 1.5*salary WHEN 12 THEN 2.0*salary ELSE salary END 'REVISED SALARY' FROM Employee;>
Utgång:

Förklaring : I ovanstående SQL-satser avkodas värdet för department_id. Om det är 50 så görs lönen 1,5 gånger, är det 12 så görs lönen 2 gånger, annars sker ingen förändring i lönen. Funktionen DECODE: Underlättar villkorliga förfrågningar genom att utföra ett CASE- eller IF-THEN-ELSE-uttalande.
Funktionen DECODE avkodar ett uttryck på ett sätt som liknar logiken OM-DÅ-ELSE som används på olika språk. Funktionen DECODE avkodar uttryck efter att ha jämfört det med varje sökvärde. Om uttrycket är detsamma som sökning, returneras resultatet.
Om standardvärdet utelämnas returneras ett nollvärde där ett sökvärde inte matchar något av resultatvärdena.
Syntax:
java är lika med metoden
DECODE (col/expression, search1, result1 [, search2, result2,........,] [, default])>
Input : SELECT first_name, department_id, salary, DECODE(department_id, 50, 1.5*salary, 12, 2.0*salary, salary) 'REVISED SALARY' FROM Employee;>
Utgång:
Förklaring: I ovanstående SQL-satser testas värdet för department_id. Om det är 50 så görs lönen 1,5 gånger, är det 12 så görs lönen 2 gånger, annars sker ingen förändring i lönen.
OBS: På samma sätt som CASE-uttryck kommer COALESCE inte heller att utvärdera argumenten till höger om det första argument som inte är noll.
Syntax:
COALESCE( value [, ......] )>
Input: SELECT COALESCE(last_name, '- NA -') from Employee;>
Produktion:
Förklaring: - NA - kommer att visas på plats där efternamnet är null, annars visas respektive efternamn. STÖRSTA: Returnerar det största värdet från en lista med valfritt antal uttryck. Jämförelse är skiftlägeskänslig. Om datatyperna för alla uttryck i listan inte är samma, konverteras resten av alla uttryck till datatypen för det första uttrycket för jämförelse och om denna konvertering inte är möjlig kommer SQL att ge ett fel.
NOTERA: Returnerar null om något uttryck i listan är null.
Syntax:
GREATEST( expr1, expr2 [, .....] )>
Syntax:
vad är 10 av 60
IFNULL( expr1, expr2 )>
NOTERA: På samma sätt som CASE- och COALESCE-uttryck, kommer IN inte heller att utvärdera argumenten till höger om det första icke-null-argumentet som hittades.
Syntax:
WHERE column IN ( x1, x2, x3 [,......] )>
Input: SELECT * from Employee WHERE department_id IN(50, 12);>
Produktion:

Förklaring: Alla uppgifter om anställda visas med avdelnings-ID 50 eller 12.
operativ systemMINST: Returnerar det minsta värdet från en lista med valfritt antal uttryck. Jämförelse är skiftlägeskänslig. Om datatyperna för alla uttryck i listan inte är samma, konverteras resten av alla uttryck till datatypen för det första uttrycket för jämförelse och om denna konvertering inte är möjlig kommer SQL att ge ett fel.
OBS: Returnerar null om något uttryck i listan är null.
Syntax:
LEAST( expr1, expr2 [, ......] )>
Syntax:
NULLIF( value1, value2 )>
Exempel:
Input: SELECT NULLIF(9995463931, contact_num) from Employee;>
Produktion:

mediaöverföring
Förklaring: NULL visas för den anställde vars nummer matchas med det angivna numret. För resten av de anställda returneras värde1.