我想在将更长的 varchar 分配给变量并且没有静默截断时出现错误。有什么设置吗?
这将无声地截断:
declare @code varchar(10)
set @code = 'This is too long'
select @code
Run Code Online (Sandbox Code Playgroud)
将 varchar 插入较小的 Table 列
create table test (col1 varchar(10));
insert into test values ('This is too long');
Run Code Online (Sandbox Code Playgroud)
产生错误:
Meldung 8152, Ebene 16, Status 14, Zeile 2
String or binary data would be truncated.
The statement has been terminated.
Run Code Online (Sandbox Code Playgroud)
小智 4
这应该适用于这个问题:
declare @code varchar(10)
declare @input VARCHAR(200)
set @input = 'Set your input code here'
IF(LEN(@input) <= 10) -- make sure this number is same as length of 'code' variable
SET @code = @input
ELSE
BEGIN
SELECT 'Inputted string is too long for the variable.'
RETURN
END
select @code
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
650 次 |
| 最近记录: |