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 | +-------+