我有一些相关的 sql 过程(MSSQL 2019)
Create PROCEDURE [dbo].[test] @tmp varchar(32) AS
print @tmp
为什么当我这样做时
EXEC @return_value = [dbo].[test]
@tmp = N'SSL99999999999999999999999999999900000006785999999999999999'
我认为它在 @tmp 中使用 32 个字符的子字符串? SSL99999999999999999999999999999
字符串或二进制数据也会按照我的预期被截断吗?
我可以开启这种行为吗?如果可能的话我需要这个;)
感谢致敬 !
因此,在插入或更新时,如果列长度较小,则会出现此错误。当相同的东西分配给任何变量时,长度会自动被截断,而不会出现任何警告或错误。这是默认行为