sql >> Database >  >> RDS >> Mysql

Wat is het LEN()-equivalent in MySQL?

In SQL Server kunt u de LEN() . gebruiken functie om het aantal tekens in een tekenreeks te retourneren. Dit is een Transact-SQL-functie die ook in Azure-databases kan worden gebruikt.

In MySQL moet je de CHAR_LENGTH() . gebruiken functie.

Voorbeelden

Hier is een voorbeeld van elk.

SQL-server (T-SQL)

SELECT LEN('Cat') AS 'T-SQL';

Resultaat:

T-SQL
-----
3    

MySQL

SELECT CHAR_LENGTH('Cat') AS MySQL;

Resultaat:

+-------+
| MySQL |
+-------+
|     3 |
+-------+

Pas op voor achterblijvende blanco's!

Een verschil tussen deze functies is de manier waarop ze spaties behandelen (bijvoorbeeld spaties aan het einde van de tekenreeks). T-SQL's LEN() functie exclusief volgspaties, terwijl MySQL's CHAR_LENGTH() functie omvat hen.

Dus als we volgspaties toevoegen aan de vorige voorbeelden, krijgen we het volgende.

SQL-server (T-SQL)

SELECT LEN('Cat ') AS 'T-SQL';

Resultaat:

T-SQL
-----
3    

MySQL

SELECT CHAR_LENGTH('Cat ') AS MySQL;

Resultaat:

+-------+
| MySQL |
+-------+
|     4 |
+-------+

Als u volgspaties in MySQL moet uitsluiten, moet u de tekenreeks in een TRIM() plaatsen functie. Zoals dit:

SELECT CHAR_LENGTH(TRIM('Cat ')) AS 'MySQL with TRIM';

Resultaat:

+-----------------+
| MySQL with TRIM |
+-----------------+
|               3 |
+-----------------+

Maar maak je geen zorgen over leidende blanco's!

Beide T-SQL's LEN() functie en de CHAR_LENGTH() . van MySQL functie omvatten leidende spaties.

SQL-server (T-SQL)

SELECT LEN(' Cat') AS 'T-SQL';

Resultaat:

T-SQL
-----
4     

MySQL

SELECT CHAR_LENGTH(' Cat') AS 'MySQL';

Resultaat:

+-------+
| MySQL |
+-------+
|     4 |
+-------+


  1. PDO heeft statement fetch() voorbereid en geeft dubbele resultaten

  2. TO_DSINTERVAL() Functie in Oracle

  3. 2 manieren om een ​​tabel te maken als deze niet bestaat in SQL Server

  4. haal een door komma's gescheiden tekenreeks uit rijen