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