Eu tenho algum procedimento sql (MSSQL 2019), se relevante
Create PROCEDURE [dbo].[test] @tmp varchar(32) AS
print @tmp
por que quando eu faço
EXEC @return_value = [dbo].[test]
@tmp = N'SSL99999999999999999999999999999900000006785999999999999999'
Vejo que usa substring de 32 caracteres em @tmp? SSL99999999999999999999999999999
E não há exceção de que strings ou dados binários seriam truncados como eu esperava?
Posso ativar esse comportamento? eu precisaria disso se possível ;)
Obrigado e cumprimentos!
Portanto, durante a inserção ou atualização, esse erro ocorrerá se o comprimento da coluna for menor. Quando a mesma coisa é atribuída a qualquer variável, o comprimento é automaticamente truncado sem qualquer aviso ou erro. Este é o comportamento padrão