Как я могу сказать SQL Server не поднимать ошибку, если я вставляю или обновляю строку дольше, чем размер поля - я бы хотел, чтобы в этом экземпляре была тихая усечка.
Как отключить ошибки при усечении строк в SQL Server?
Ответ 1
То, что вам нужно сделать, - установить ANSI WARNINGS на OFF Вы можете сделать это, позвонив
set ANSI_WARNINGS OFF
Я также написал практический пример:
create table bla(id varchar(2))
go
insert bla values ('123') --fails
set ANSI_WARNINGS OFF
insert bla values ('123') --succeeds
Не забывайте включать предупреждения ANSI, когда вы закончите. Вы можете сделать это, позвонив:
set ANSI_WARNINGS ON
Ответ 2
Попробуйте применить переменную до точного типа и длины, прежде чем вставлять ее. Это может сделать трюк. Кастинг (и конвертация) гораздо более гибкие.:)