sql >> Databasteknik >  >> RDS >> Mysql

Vad är LEN()-ekvivalenten i MySQL?

I SQL Server kan du använda LEN() funktion för att returnera antalet tecken i en sträng. Detta är en Transact-SQL-funktion som även kan användas i Azure-databaser.

I MySQL måste du använda CHAR_LENGTH() funktion.

Exempel

Här är ett exempel på varje.

SQL-server (T-SQL)

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

Resultat:

T-SQL
-----
3    

MySQL

SELECT CHAR_LENGTH('Cat') AS MySQL;

Resultat:

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

Se upp för släpande ämnen!

En skillnad mellan dessa funktioner är hur de behandlar efterföljande ämnen (t.ex. mellanslag i slutet av strängen). T-SQL:s LEN() funktion utesluter efterföljande ämnen, medan MySQL:s CHAR_LENGTH() funktionen inkluderar dem.

Så om vi lägger till efterföljande ämnen till de tidigare exemplen får vi följande.

SQL-server (T-SQL)

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

Resultat:

T-SQL
-----
3    

MySQL

SELECT CHAR_LENGTH('Cat ') AS MySQL;

Resultat:

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

Om du behöver utesluta efterföljande ämnen i MySQL, måste du linda in strängen i en TRIM() fungera. Så här:

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

Resultat:

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

Men oroa dig inte för ledande ämnen!

Båda T-SQL:s LEN() funktion och MySQL:s CHAR_LENGTH() funktion inkludera ledande ämnen.

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. UTF-8:Allmänt? Bin? Unicode?

  2. Skanningar av allokeringsorder

  3. Hur man programmatiskt skapar en ODBC-länkad tabell till en SQL Server View och får den att vara redigerbar?

  4. C# Motsvarar SQL Server DataTypes