Consultes senzilles - Funcions de Caràcters
SELECT sense FROM
En MariaDB/Mysql podem utilitzar la comanda SELECT sense FROM. Ens pot servir per a provar les diferents funcions amb caràcters, dates o nombres que entrarem com a literals.
SELECT UPPER('Bases de dades');
+-------------------------+
| UPPER('Bases de dades') |
+-------------------------+
| BASES DE DADES |
+-------------------------+
Funcions amb caràcters
-
Les més utilitzades són:
-
CONCAT, CONCAT_WS, LPAD,INSTR
-
LEFT, RIGHT, SUBSTRING
-
LOWER, UPPER, LENGTH
-
TRIM, LTRIM, RTRIM
-
REPEAT, REPLACE
-
Exemples de funcions
| SELECT | RESPOSTA |
|---|---|
SELECT CONCAT('Hello', 'World'); |
HelloWorld |
SELECT SUBSTR('HelloWorld',1,5); |
Hello |
SELECT LENGTH('HelloWorld'); |
12 |
SELECT INSTR('HelloWorld', 'W'); |
6 |
SELECT LPAD('Hello',10, '-'); |
-----Hello |
SELECT TRIM(BOTH 'a' FROM 'abcabca'); |
bcabc |
SELECT REPLACE('JACK and JUE','J','BL'); |
BLACK and BLUE |
SELECT REPEAT('*', 10); |
**** |
SELECT LENGTH('Hello World'); |
11 |
Ús d’alies en funcions
Sempre que utilitzem una funció en una SELECT serà bó utilitzar un alies per a nomenar la columna resultant.
SELECT CONCAT(
UPPER(LEFT(job_id,1)),
LOWER(SUBSTRING(job_id, 2))) AS "Feines"
FROM jobs;
+------------+
| Feines |
+------------+
| Ac_account |
| Ac_mgr |
| Ad_asst |
| Ad_pres |
Variables de substitució
Per executar comandes iguals canviant un o més valors podem utilitzar variables.
Les variables comencen per @ i no es declaren; només se'ls assigna valor de la següent forma:
SET @variable = valor;
Després podem utilitzar-la en una comanda:
SELECT ... WHERE col = @variable;
Exemple variables de substitució
SET @DEPT = 20;
SELECT LAST_NAME, DEPARTMENT_ID
FROM employees
WHERE DEPARTMENT_ID = @DEPT;
+-----------+---------------+
| LAST_NAME | DEPARTMENT_ID |
+-----------+---------------+
| Hartstein | 20 |
| Fay | 20 |
+-----------+---------------+