是否可以 - 使用单个CREATE TABLE脚本 - 将特定varbinary
列ANSI_PADDING = ON
设置为ANSI_PADDING = OFF
,将其他列设置为CREATE TABLE PaddingX (
...
ColumnA varbinary(max),
...
ColumnB varbinary(50)
)
?
e.g。
ColumnA
我希望OFF
修剪(填充ColumnB
),但ON
包含完整(填充)值 - 填充{{1}}。
答案 0 :(得分:2)
你需要分两步完成:
SET ANSI_PADDING OFF
-- create the table without the columns that need ANSI padding
SET ANSI_PADDING ON
-- alter the table to add the columns that need ANDI passing
这是唯一的方法。
如果您查看SET ANSI_PADDING docs的评论,可以阅读:
此设置仅影响新列的定义。创建列后,SQL Server会根据创建列时的设置存储值。以后更改此设置不会影响现有列。
注意:要添加新列,您可以看到ALTER TABLE docs的示例。
答案 1 :(得分:1)
这似乎也适用于包含需要更改的现有列的表:
SET ANSI_PADDING ON
GO
ALTER TABLE [TableX] ALTER COLUMN [ColumnY] VARBINARY (50) NULL;
GO
SET ANSI_PADDING OFF
GO
有何评论?它似乎解决了这个问题......