Sqlserver:ANSI_PADDING

來源:互聯網
上載者:User

SET ANSI_PADDING { ON | OFF }

針對小於定義的列大小的值以及 char、varchar、binary 和 varbinary 資料中有尾隨空格的值,此語句可以控制儲存此類值的方式。
此設定隻影響新列的定義。建立列後,SQL Server 2005 將根據建立列時的設定儲存這些值。現有的列不受以後對該設定更改的影響。

下表顯示在將值插入含有 char、varchar、binary 和 varbinary 資料類型的列時,SET ANSI_PADDING
設定的效果。

設定 char(n) NOT NULL 或 binary(n) NOT NULL char(n) NOT NULL 或 binary(n) NULL varchar(n) 或 varbinary(n)

ON

填充原始值(char 列具有尾隨空格的值,binary 列具有尾隨零的值),使達到列的長度。

如果 SET ANSI_PADDING 為 ON,則遵從與 char(n) 或 binary(n) NOT NULL 相同的規則。

不剪裁插入 varchar 列中的字元值的尾隨空格。不剪裁插入 varbinary
列中的二進位值的尾隨零。不將值填充到列的長度。

OFF

填充原始值(char 列具有尾隨空格的值,binary 列具有尾隨零的值),使達到列的長度。

如果 SET ANSI_PADDING 為 OFF,則遵從與 varchar 或 varbinary 相同的規則。

剪裁插入 varchar 列中的字元值的尾隨空格。剪裁插入 varbinary
列中的二進位值的尾隨零。

注意:
進行填充時,char 列用空格填充,binary 列用零填充。進行剪裁時,char 列的尾隨空格被剪裁,binary 列的尾隨零被剪裁。

如果是對計算資料行或索引檢視表建立或更改索引,則 SET ANSI_PADDING 必須為 ON。有關計算資料行的索引檢視表和索引必需的 SET
選項設定的詳細資料,請參閱 SET
(Transact-SQL) 中的“使用 SET 語句時的注意事項”。

進行串連時,SQL Server 的 SQL Native Client ODBC 驅動程式和 SQL Native Client
OLE DB 提供者會自動將 ANSI_PADDING 設定為 ON。這可以在 ODBC 資料來源、ODBC 串連特性或 OLE DB
串連屬性(它們在串連前在應用程式中設定)中進行配置。對於來自 DB-Library 應用程式的串連,SET ANSI_NULL_DFLT_ON 的預設設定為
OFF。

SET ANSI_PADDING 設定不影響 nchar、nvarchar、ntext、text、image 和大型值。它們始終顯示
SET ANSI_PADDING ON 行為。這表示不剪裁尾隨空格和尾隨零。

這些類型不受 SET ANSI_PADDING 設定的影響。

如果 SET ANSI_DEFAULTS 為 ON,則啟用 SET ANSI_PADDING。

SET ANSI_PADDING 的設定是在執行或運行時設定的,而不是在分析時設定的。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.