Diferença entre CAST(CAMPO AS VARCHAR) X CAST(CAMPO VARCHAR(100))
Quando é preciso converter um campo fazendo uso do ‘CAST‘ e a conversão é para o tipo de dados ‘VARCHAR‘ existem duas formas fazer.
1 .
[sourcecode language=”sql”] SELECT CAST(‘WWW.T-SQL.COM.BR DICAS SOBRE SQL SERVER’ AS VARCHAR) [/sourcecode]
2 .
[sourcecode language=”sql”] SELECT CAST(‘WWW.T-SQL.COM.BR DICAS SOBRE SQL SERVER’ AS VARCHAR(100)) [/sourcecode]
Mais qual a diferença entre a 1 e a 2?
Quando utilizar o CAST(CAMPO AS VARCHAR) ou seja sem especificar o tamanho desejado, por default o campo será convertido para VARCHAR(30), exemplo:
Já ao especificar o tamanho desejado será respeitado o tamanho especificado, exemplo:
Talvez muitos não saibam que ao não especificar o tamanho o mesmo será convertido para VARCHAR(30), portando, como dica para evitarmos surpresas desagradáveis sempre especifique o tamanho que desejado.