Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Was ist das LEN()-Äquivalent in MySQL?

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