I SQL Server kan du bruge LEN()
funktion til at returnere antallet af tegn i en streng. Dette er en Transact-SQL-funktion, der også kan bruges i Azure-databaser.
I MySQL skal du bruge CHAR_LENGTH()
funktion.
Eksempler
Her er et eksempel på hver.
SQL-server (T-SQL)
SELECT LEN('Cat') AS 'T-SQL';
Resultat:
T-SQL ----- 3
MySQL
SELECT CHAR_LENGTH('Cat') AS MySQL;
Resultat:
+-------+ | MySQL | +-------+ | 3 | +-------+
Pas på efterfølgende blanke!
En forskel mellem disse funktioner er den måde, de behandler efterstillede emner (f.eks. mellemrum for enden af strengen). T-SQL's LEN()
funktion ekskluderer efterfølgende blanks, mens MySQL's CHAR_LENGTH()
funktion inkluderer dem.
Så hvis vi tilføjer efterstillede emner til de foregående eksempler, får vi følgende.
SQL-server (T-SQL)
SELECT LEN('Cat ') AS 'T-SQL';
Resultat:
T-SQL ----- 3
MySQL
SELECT CHAR_LENGTH('Cat ') AS MySQL;
Resultat:
+-------+ | MySQL | +-------+ | 4 | +-------+
Hvis du har brug for at udelukke efterfølgende blanks i MySQL, skal du pakke strengen ind i en TRIM()
fungere. Sådan:
SELECT CHAR_LENGTH(TRIM('Cat ')) AS 'MySQL with TRIM';
Resultat:
+-----------------+ | MySQL with TRIM | +-----------------+ | 3 | +-----------------+
Men du skal ikke bekymre dig om Leading Blanks!
Begge T-SQL's LEN()
funktion og MySQL's CHAR_LENGTH()
funktion inkluder førende blanks.
SQL-server (T-SQL)
SELECT LEN(' Cat') AS 'T-SQL';
Resultat:
T-SQL ----- 4
MySQL
SELECT CHAR_LENGTH(' Cat') AS 'MySQL';
Resultat:
+-------+ | MySQL | +-------+ | 4 | +-------+