Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Qual é o equivalente LEN() no MySQL?


No SQL Server, você pode usar o LEN() função para retornar o número de caracteres em uma string. Esta é uma função Transact-SQL que também pode ser usada em bancos de dados do Azure.

No MySQL, você precisa usar o CHAR_LENGTH() função.


Exemplos


Aqui está um exemplo de cada um.

SQL Server (T-SQL)

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

Resultado:
T-SQL
-----
3    

MySQL

SELECT CHAR_LENGTH('Cat') AS MySQL;

Resultado:
+-------+
| MySQL |
+-------+
|     3 |
+-------+

Cuidado com os espaços em branco!


Uma diferença entre essas funções está na maneira como tratam os espaços em branco à direita (por exemplo, espaços no final da string). LEN() do T-SQL função exclui espaços em branco à direita, enquanto o CHAR_LENGTH() do MySQL função inclui eles.

Portanto, se adicionarmos espaços em branco aos exemplos anteriores, obteremos o seguinte.

SQL Server (T-SQL)

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

Resultado:
T-SQL
-----
3    

MySQL

SELECT CHAR_LENGTH('Cat') AS MySQL;

Resultado:
+-------+
| MySQL |
+-------+
|     4 |
+-------+

Se você precisar excluir espaços em branco à direita no MySQL, precisará envolver a string em um TRIM() função. Assim:
SELECT CHAR_LENGTH(TRIM('Cat ')) AS 'MySQL with TRIM';

Resultado:
+-----------------+
| MySQL with TRIM |
+-----------------+
|               3 |
+-----------------+

Mas não se preocupe com espaços em branco!


Ambos os LEN() do T-SQL função e CHAR_LENGTH() do MySQL função incluir espaços em branco principais.

SQL Server (T-SQL)

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

Resultado:
T-SQL
-----
4     

MySQL

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

Resultado:
+-------+
| MySQL |
+-------+
|     4 |
+-------+