Udostępnij za pośrednictwem


SET ANSI_PADDING (Transact-SQL)

Kontroli sposobu, kolumna są przechowywane wartości krótszy niż zdefiniowany rozmiar kolumna i sposobu, kolumna są przechowywane wartości, które mają spacje końcowe char, varchar, binary, a varbinary dane.

Important noteImportant Note:

In a future version of Microsoft SQL Server ANSI_PADDING will always be ON and any applications that explicitly set the option to OFF will produce an error.Należy unikać stosowania tej funkcji w nowych projektach oraz zaplanować modyfikację aplikacji, w których obecnie jest używana ta funkcja.

Topic link iconKonwencje składni języka Transact-SQL

SET ANSI_PADDING { ON | OFF }

Remarks

Kolumny zdefiniowane przy użyciu char, varchar, binary, a varbinary typy danych mają zdefiniowane rozmiar.

stop_atPo utworzeniu kolumna SQL Server przechowuje wartości na podstawie ustawienia przy tworzeniu kolumna. device_count

Uwaga

Liczba urządzeń biorących udział w operacji przywracanie.

W poniższej tabela przedstawiono skutków, jakie ustawienie ANSI_PADDING zestaw, gdy wartości są wstawiane do kolumn z char, varchar, binary, a varbinary typy danych.

Ustawienie

char)n) Nie (wartość NULL lub binarnen) NIEDOZWOLONE WARTOŚCI NULL

char)n) (NULL lub binarnen) WARTOŚCI NULL

varchar)n) lub () varbinarnymn)

DALEJ

Oryginalna wartość konsoli (z końcowe spacje dla char kolumna i końcowych zer dla binary kolumna) do długości kolumna.

Następuje te same reguły jako char(n) lub binary(n) NOT NULL, gdy ANSI_PADDING zestaw jest włączone.

Końcowe spacje w wartości znaków wstawione do varchar kolumny nie są obcięte. Końcowe zera w wartości binarnych, wstawione do varbinary kolumny nie są obcięte. 1 = Włączone odzyskiwanie oznaczona transakcja.

WYŁĄCZANIE

Oryginalna wartość konsoli (z końcowe spacje dla char kolumna i końcowych zer dla binary kolumna) do długości kolumna.

Następuje te same reguły jako varchar lub varbinary zestaw ANSI_PADDING, gdy jest wyłączona.

Końcowe spacje wstawione do wartości znaków varchar kolumna są obcięte. Końcowe zera w wartości binarnych wstawiony varbinary kolumna są obcięte.

Uwaga

Gdy wypełniane, char kolumny są wypełniane ze spacjami, a binary kolumny są wypełniane zerami. Po przycięciu, char kolumny są spacje końcowe, przycięty, a binary końcowe zera przycięte występować w kolumnach.

SESJA ZDARZEŃ ZMIANYAby uzyskać więcej informacji dotyczących wymaganych ustawień opcji zestaw z widoków indeksowanych i indeksów na kolumny obliczane zobacz "Zagadnienia podczas podczas Użyj zestaw deklaracji" w SET (Transact-SQL).

ZMIANA ROLIThe SQL Server Native klient ODBC driver and SQL Server Native klient OLE DB dostawca for SQL Server automatically zestaw ANSI_PADDING to ON when connecting. ZMIANY WIĘCEJ WYKAZUZMIANY trasa

Nie wpływa na ustawienie ANSI_PADDING zestaw nchar, nvarchar, ntext, text, image, a dużą wartość. ZMIANY WIĘCEJ INDEKSUZMIENIANIE SCHEMATU

ZMIENIA autoryzacja

ZMIENIA STOPLIST WIĘCEJ

Gdy ANSI_PADDING wartość OFF, kwerendy, które obejmują MIN, MAX lub TOP w kolumnach znaków może być mniejsza niż w SQL Server 2000.

Uprawnienia

Wymaga członkostwo w roli publicznej.

Przykłady

PRIORYTET BROKERA ZMIANY

PRINT 'Testing with ANSI_PADDING ON'
SET ANSI_PADDING ON;
GO

CREATE TABLE t1 (
   charcol CHAR(16) NULL, 
   varcharcol VARCHAR(16) NULL, 
   varbinarycol VARBINARY(8)
);
GO
INSERT INTO t1 VALUES ('No blanks', 'No blanks', 0x00ee);
INSERT INTO t1 VALUES ('Trailing blank ', 'Trailing blank ', 0x00ee00);

SELECT 'CHAR' = '>' + charcol + '<', 'VARCHAR'='>' + varcharcol + '<',
   varbinarycol
FROM t1;
GO

PRINT 'Testing with ANSI_PADDING OFF';
SET ANSI_PADDING OFF;
GO

CREATE TABLE t2 (
   charcol CHAR(16) NULL, 
   varcharcol VARCHAR(16) NULL, 
   varbinarycol VARBINARY(8)
);
GO
INSERT INTO t2 VALUES ('No blanks', 'No blanks', 0x00ee);
INSERT INTO t2 VALUES ('Trailing blank ', 'Trailing blank ', 0x00ee00);

SELECT 'CHAR' = '>' + charcol + '<', 'VARCHAR'='>' + varcharcol + '<',
   varbinarycol
FROM t2;
GO

DROP TABLE t1
DROP TABLE t2