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