"Muitas vezes, você obtém o resultado certo sem fazer isso."
Exemplo:
select CONVERT(varchar, getdate(), 112)
saídas
20240417
Eu vi isso em alguns lugares no Stack Exchange até encontrar um pequeno comentário que dizia ao leitor para não esquecer o comprimento entre colchetes. Afirmei que isso não é necessário se você definir o número do estilo para uma data e hora como esta. No entanto, agora tenho conhecimento suficiente para entender que "varchar nunca deve ficar sozinho", deve sempre ser escrito como algo como varchar(1234)
.
Quanto ao código acima, seria:
select CONVERT(varchar(8), getdate(), 112)
Se você olhar para ele, a saída é a mesma:
20240417
Um comentário abaixo foi ainda mais longe: char(8)
deveria ser levado em consideração, já que
nenhum valor no estilo 112 será menor que 8 caracteres.
Por que você deve sempre escrever varchar com o comprimento entre colchetes atrás dele?