concat

Mattepuffo's logo
Usare le Generated Column in MariaDB e MySQL

Usare le Generated Column in MariaDB e MySQL

Supponiamo di avere una classica tabella con questi tre campi:

  • id
  • nome
  • cognome

E supponiamo di avere sempre la necessità di visualizzare il nome e il cognome insieme e messi in maiuscolo.

Le SELECT dovrebbero sempre fare il CONCAT + UPPER, e questo può appesantire le prestazioni.

Mattepuffo's logo
Javascript array cheat sheet

Javascript array cheat sheet

Ovviamente non vuole essere una serie di "trucchi" completa; sicuramente ce ne sono altri che non conosco.

Ma vorrebbe essere una guida in divenire di funzioni sugli array per Javascript.

Anzia, più che una guida una lista.

Mattepuffo's logo
Usare la clausola IN in una Stored Procedure in MySQL

Usare la clausola IN in una Stored Procedure in MySQL

La clausola IN, in una query con vari filtri, può essere molto comoda.

Ma se la vogliamo usare dentro una Stored Procedure in MySQL, può essere problematico passare i valori da usare nella clausola.

Per farlo siamo costretti a concatenare la query usando CONCAT.

Mattepuffo's logo
Passare il nome del campo o della tabella alle Stored Procedure in MySQL

Passare il nome del campo o della tabella alle Stored Procedure in MySQL

Mi è capitato spesso di avere delle Stored Procedure molto simili tra loro, dove la differenza era, ad esempio, solo il campo o la tabella da interrogare.

In questi casi la cosa migliore sarebbe passare il nome del campo / tabella alla SP come parametro.

Solo che poi non lo si può usare come un "normale" parametro.

Specifico che siamo in ambito MySQL, anche se forse vale la stessa cosa per altri db.

Mattepuffo's logo
Concatenare campi in MySQL

Concatenare campi in MySQL

In MySQL è molto facile concatenare più campi.

In genere l'SQL prevede l'uso di || che equivale a OR, ma questo funziona solo è attivato l’SQL MODE PIPES_AS_CONCAT.

Nel caso non fosse attivato otterremo un risultato strano:

mysql> SELECT author_name||"-"||editor_name AS CONC FROM bookv LIMIT 5;
+------+
| CONC |
+------+
|    0 |
|    0 |
|    0 |
|    0 |
|    0 |
+------+

Per ovviare si possono usare le funzioni CONCAT()  e CONCAT_WS().

Ovviamente posiamo concatenare campi di diverso tipo, come un VARCHAR e un DECIMAL.

La sintassi base è:

SELECT CONCAT(campo1, campo2, campo3, ....);

Ovviamente possiamo mettere anche stringhe di separazione.