Как отключить ошибки усечения строк в SQL Server? - PullRequest
14 голосов
/ 09 февраля 2009

Как я могу сказать SQL Server не выдавать ошибку, если я вставляю или обновляю строку длиннее, чем размер поля - в этом случае я бы хотел тихое усечение.

Ответы [ 2 ]

31 голосов
/ 09 февраля 2009

Что вам нужно сделать, это установить 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 голосов
/ 09 февраля 2009

Попробуйте привести переменную к точному типу и длине перед вставкой. Это может помочь. Кастинг (и конвертация) гораздо более гибки. :)

...