I SQL Server kan du använda LEN()
funktion för att returnera antalet tecken i en sträng. Detta är en Transact-SQL-funktion som även kan användas i Azure-databaser.
I MySQL måste du använda CHAR_LENGTH()
funktion.
Exempel
Här är ett exempel på varje.
SQL-server (T-SQL)
SELECT LEN('Cat') AS 'T-SQL';
Resultat:
T-SQL ----- 3
MySQL
SELECT CHAR_LENGTH('Cat') AS MySQL;
Resultat:
+-------+ | MySQL | +-------+ | 3 | +-------+
Se upp för släpande ämnen!
En skillnad mellan dessa funktioner är hur de behandlar efterföljande ämnen (t.ex. mellanslag i slutet av strängen). T-SQL:s LEN()
funktion utesluter efterföljande ämnen, medan MySQL:s CHAR_LENGTH()
funktionen inkluderar dem.
Så om vi lägger till efterföljande ämnen till de tidigare exemplen får vi följande.
SQL-server (T-SQL)
SELECT LEN('Cat ') AS 'T-SQL';
Resultat:
T-SQL ----- 3
MySQL
SELECT CHAR_LENGTH('Cat ') AS MySQL;
Resultat:
+-------+ | MySQL | +-------+ | 4 | +-------+
Om du behöver utesluta efterföljande ämnen i MySQL, måste du linda in strängen i en TRIM()
fungera. Så här:
SELECT CHAR_LENGTH(TRIM('Cat ')) AS 'MySQL with TRIM';
Resultat:
+-----------------+ | MySQL with TRIM | +-----------------+ | 3 | +-----------------+
Men oroa dig inte för ledande ämnen!
Båda T-SQL:s LEN()
funktion och MySQL:s CHAR_LENGTH()
funktion inkludera ledande ämnen.
SQL-server (T-SQL)
SELECT LEN(' Cat') AS 'T-SQL';
Resultat:
T-SQL ----- 4
MySQL
SELECT CHAR_LENGTH(' Cat') AS 'MySQL';
Resultat:
+-------+ | MySQL | +-------+ | 4 | +-------+