In SQL Server können Sie LEN()
verwenden Funktion, um die Anzahl der Zeichen in einer Zeichenfolge zurückzugeben. Dies ist eine Transact-SQL-Funktion, die auch in Azure-Datenbanken verwendet werden kann.
In MySQL müssen Sie den CHAR_LENGTH()
verwenden Funktion.
Beispiele
Hier ist jeweils ein Beispiel.
SQL-Server (T-SQL)
SELECT LEN('Cat') AS 'T-SQL';
Ergebnis:
T-SQL ----- 3
MySQL
SELECT CHAR_LENGTH('Cat') AS MySQL;
Ergebnis:
+-------+ | MySQL | +-------+ | 3 | +-------+
Achten Sie auf abschließende Leerzeichen!
Ein Unterschied zwischen diesen Funktionen besteht darin, wie sie abschließende Leerzeichen behandeln (z. B. Leerzeichen am Ende der Zeichenfolge). LEN()
von T-SQL Funktion schließt aus nachgestellte Leerzeichen, während CHAR_LENGTH()
von MySQL Funktion enthält sie.
Wenn wir also den vorherigen Beispielen abschließende Leerzeichen hinzufügen, erhalten wir Folgendes.
SQL-Server (T-SQL)
SELECT LEN('Cat ') AS 'T-SQL';
Ergebnis:
T-SQL ----- 3
MySQL
SELECT CHAR_LENGTH('Cat ') AS MySQL;
Ergebnis:
+-------+ | MySQL | +-------+ | 4 | +-------+
Wenn Sie nachgestellte Leerzeichen in MySQL ausschließen müssen, müssen Sie die Zeichenfolge in ein TRIM()
umschließen Funktion. So:
SELECT CHAR_LENGTH(TRIM('Cat ')) AS 'MySQL with TRIM';
Ergebnis:
+-----------------+ | MySQL with TRIM | +-----------------+ | 3 | +-----------------+
Aber keine Sorge wegen führenden Leerzeichen!
Beides LEN()
von T-SQL -Funktion und CHAR_LENGTH()
von MySQL Funktion include führende Leerzeichen.
SQL-Server (T-SQL)
SELECT LEN('Cat') AS 'T-SQL';
Ergebnis:
T-SQL ----- 4
MySQL
SELECT CHAR_LENGTH(' Cat') AS 'MySQL';
Ergebnis:
+-------+ | MySQL | +-------+ | 4 | +-------+