Salta el contingut

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

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       |
+-----------+---------------+