This shows you the differences between two versions of the page.
|
bd:laboratoare:07 [2020/04/02 17:37] ciprian.truica |
bd:laboratoare:07 [2022/05/05 16:55] (current) florin.radulescu [Funcții diverse] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ===== Laborator 07 - Funcții SQL (II) ===== | ===== Laborator 07 - Funcții SQL (II) ===== | ||
| - | **Conținut** | + | |
| + | ===== Obiective ===== | ||
| * Funcții de conversie | * Funcții de conversie | ||
| * Funcții diverse | * Funcții diverse | ||
| * Funcții de grup | * Funcții de grup | ||
| + | | ||
| + | ===== Materiale ajutătoare ===== | ||
| + | |||
| + | [[bd:resurse:tables|Resurse BD]] | ||
| + | |||
| ==== Funcții de conversie ==== | ==== Funcții de conversie ==== | ||
| Line 67: | Line 74: | ||
| {{:bd:laboratoare:lab07_p7_2.png?520}} | {{:bd:laboratoare:lab07_p7_2.png?520}} | ||
| - | * **Instrucțiunea CASE** | + | * **Expresii CASE** |
| - | Instrucținea CASE poate fi folosită în clauza SELECT sau WHERE: | + | Expresiile CASE pot fi folosite în clauza SELECT sau WHERE. Ele returnează o valoare (a nu se confunda cu instrucțiunea CASE): |
| Sintaxa 1: | Sintaxa 1: | ||
| <code sql>CASE expr | <code sql>CASE expr | ||
| - | WHEN value1 THEN statements_1 | + | WHEN value1 THEN retval_1 |
| - | WHEN value2 THEN statements_2 | + | WHEN value2 THEN retval_2 |
| ... | ... | ||
| - | [ELSE statements_k] | + | [ELSE retval_k] |
| END</code> | END</code> | ||
| * **expr** – reprezintă expresia care se va evalua; | * **expr** – reprezintă expresia care se va evalua; | ||
| - | * **statements_1** – reprezintă valoarea care se va returna pentru **expr = value1;** | + | * **retval_1** – reprezintă valoarea care se va returna pentru **expr = value1;** |
| - | * **statements_2** – reprezintă valoarea care se va returna pentru **expr = value2;** | + | * **retval_2** – reprezintă valoarea care se va returna pentru **expr = value2;** |
| - | * **statements_k** – reprezintă valoarea implicită care se va returna pentru **expr <> value1, value2, ...** | + | * **retval_k** – reprezintă valoarea implicită care se va returna pentru **expr <> value1, value2, ...** |
| Sintaxa 2: | Sintaxa 2: | ||
| <code sql>CASE | <code sql>CASE | ||
| - | WHEN expr_1 THEN statements_1 | + | WHEN expr_1 THEN retval_1 |
| - | WHEN expr_2 THEN statements_2 | + | WHEN expr_2 THEN retval_2 |
| ... | ... | ||
| - | [ELSE statements_k] | + | [ELSE retval_k] |
| END</code> | END</code> | ||
| - | * **expr_i** – reprezintă expresia care se va evalua | + | * **expr_i** – reprezintă expresia **booleana** care se va evalua |
| - | * **statements_i** – reprezintă valoarea care se va returna pentru **expr_i** | + | * **retval_i** – reprezintă valoarea care se va returna pentru **expr_i** |
| |{{:bd:laboratoare:lab07_p8_1.png?320}}|{{:bd:laboratoare:lab07_p8_2.png?410}}| | |{{:bd:laboratoare:lab07_p8_1.png?320}}|{{:bd:laboratoare:lab07_p8_2.png?410}}| | ||