In SQL Server puoi utilizzare LEN()
funzione per restituire il numero di caratteri in una stringa. Questa è una funzione Transact-SQL che può essere usata anche nei database di Azure.
In MySQL, devi usare CHAR_LENGTH()
funzione.
Esempi
Ecco un esempio di ciascuno.
SQL Server (T-SQL)
SELECT LEN('Cat') AS 'T-SQL';
Risultato:
T-SQL ----- 3
MySQL
SELECT CHAR_LENGTH('Cat') AS MySQL;
Risultato:
+-------+ | MySQL | +-------+ | 3 | +-------+
Attento agli spazi vuoti finali!
Una differenza tra queste funzioni è nel modo in cui trattano gli spazi finali (ad esempio gli spazi alla fine della stringa). LEN()
di T-SQL funzione esclude spazi vuoti finali, mentre CHAR_LENGTH()
di MySQL funzione include loro.
Quindi, se aggiungiamo spazi finali agli esempi precedenti, otteniamo quanto segue.
SQL Server (T-SQL)
SELECT LEN('Cat ') AS 'T-SQL';
Risultato:
T-SQL ----- 3
MySQL
SELECT CHAR_LENGTH('Cat ') AS MySQL;
Risultato:
+-------+ | MySQL | +-------+ | 4 | +-------+
Se devi escludere gli spazi finali in MySQL, dovrai racchiudere la stringa in un TRIM()
funzione. In questo modo:
SELECT CHAR_LENGTH(TRIM('Cat ')) AS 'MySQL with TRIM';
Risultato:
+-----------------+ | MySQL with TRIM | +-----------------+ | 3 | +-----------------+
Ma non preoccuparti degli spazi vuoti in testa!
Entrambi LEN()
di T-SQL funzione e CHAR_LENGTH()
di MySQL funzione includi spazi vuoti iniziali.
SQL Server (T-SQL)
SELECT LEN(' Cat') AS 'T-SQL';
Risultato:
T-SQL ----- 4
MySQL
SELECT CHAR_LENGTH(' Cat') AS 'MySQL';
Risultato:
+-------+ | MySQL | +-------+ | 4 | +-------+