sql >> Database teknologi >  >> RDS >> Mysql

Hvad er LEN()-ækvivalenten i MySQL?

I SQL Server kan du bruge LEN() funktion til at returnere antallet af tegn i en streng. Dette er en Transact-SQL-funktion, der også kan bruges i Azure-databaser.

I MySQL skal du bruge CHAR_LENGTH() funktion.

Eksempler

Her er et eksempel på hver.

SQL-server (T-SQL)

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

Resultat:

T-SQL
-----
3    

MySQL

SELECT CHAR_LENGTH('Cat') AS MySQL;

Resultat:

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

Pas på efterfølgende blanke!

En forskel mellem disse funktioner er den måde, de behandler efterstillede emner (f.eks. mellemrum for enden af ​​strengen). T-SQL's LEN() funktion ekskluderer efterfølgende blanks, mens MySQL's CHAR_LENGTH() funktion inkluderer dem.

Så hvis vi tilføjer efterstillede emner til de foregående eksempler, får vi følgende.

SQL-server (T-SQL)

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

Resultat:

T-SQL
-----
3    

MySQL

SELECT CHAR_LENGTH('Cat ') AS MySQL;

Resultat:

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

Hvis du har brug for at udelukke efterfølgende blanks i MySQL, skal du pakke strengen ind i en TRIM() fungere. Sådan:

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

Resultat:

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

Men du skal ikke bekymre dig om Leading Blanks!

Begge T-SQL's LEN() funktion og MySQL's CHAR_LENGTH() funktion inkluder førende blanks.

SQL-server (T-SQL)

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

Resultat:

T-SQL
-----
4     

MySQL

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

Resultat:

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


  1. .patch_storage

  2. Afkort (ikke runde) decimaler i SQL Server

  3. En databasemodel for en taxatjeneste

  4. Forespørgsel om at beregne både kumulativ og samlet SUM over løn