Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Vonatkozik a következőkre:SQL Server
Azure SQL Managed Instance
Azure Synapse Analytics
Analitikai Platform System (PDW)
SQL analytics endpoint a Microsoft Fabric-ben
Raktár a Microsoft Fabric-ben
SQL adatbázis a Microsoft Fabric-ben
Szabályozza, hogy az oszlop hogyan tárolja az oszlop megadott méreténél rövidebb értékeket, valamint azt, hogy az oszlop hogyan tárolja azokat az értékeket , amelyekben a karakter, a varchar, a bináris és a varbináris adatok üresek.
-
SET ANSI_PADDING ON- megőrzi a sztringértékek záró üres értékeit, amikor beszúrják őket egy oszlopba. Ez ANSI-kompatibilis viselkedés. -
SET ANSI_PADDING OFF- levágja a sztringértékek záró üres értékeit, amikor beszúrják őket egy oszlopba. Ez nem ajánlott viselkedés.
Megjegyzés:
SET ANSI_PADDING OFFés az ANSI_PADDING OFF adatbázis-beállítás elavult. Az SQL Server 2017 (14.x) és újabb verzióiban, valamint az Azure SQL Database-ben és az Azure SQL Managed Instance-ben ANSI_PADDING mindig a következőre van állítva: ON. Az elavult funkciókat nem szabad használni az új alkalmazásokban. További információ: Elavult adatbázismotor-funkciók az SQL Server 2017-ben.
Transact-SQL szintaxis konvenciók
Szemantika
Szintaxis az SQL Serverhez, kiszolgáló nélküli SQL-készlethez az Azure Synapse Analyticsben, Microsoft Fabric.
SET ANSI_PADDING { ON | OFF }
Az Azure Synapse Analytics and Analytics Platform System (PDW) szintaxisa.
SET ANSI_PADDING ON
Megjegyzések
A karakter, a varchar, a bináris és a varbináris adattípusokkal definiált oszlopok mérete meghatározott.
Ez a beállítás csak az új oszlopok definícióját érinti. Az oszlop létrehozása után az SQL Server az oszlop létrehozásakor megadott beállítás alapján tárolja az értékeket. A meglévő oszlopokat nem érinti a beállítás későbbi módosítása.
Megjegyzés:
ANSI_PADDING beállításnak mindig a következőre ONkell lennie: .
Az alábbi táblázat a beállítás hatásait mutatja be, amikor az SET ANSI_PADDING értékek karakter, varchar, bináris és varbináris adattípusú oszlopokba vannak beszúrva.
| Beállítás | char(n) NOT NULL vagy binary(n) NOT NULL | char(n) NULL vagy bináris(n) NULL | varchar(n) vagy varbinary(n) |
|---|---|---|---|
ON |
Az eredeti érték kitöltése ( karakteroszlopok záró ürességeivel és bináris oszlopok záró nulláival) az oszlop hosszáig. | Ugyanazokat a szabályokat követi, mint a karakter(n) vagy a bináris(n)NOT NULL eseténSET ANSI_PADDING.ON |
A varchar oszlopokba beszúrt karakterértékek záró üres értékei nem lesznek levágva. A varbináris oszlopokba beszúrt bináris értékek záró nullái nem lesznek levágva. Az értékek nem az oszlop hosszára lesznek kipárnázva. |
OFF |
Az eredeti érték kitöltése ( karakteroszlopok záró ürességeivel és bináris oszlopok záró nulláival) az oszlop hosszáig. | Ugyanazokat a szabályokat követi, mint a varchar vagy a varbinary , ha SET ANSI_PADDING van OFF. |
A varchar oszlopba beszúrt karakterértékek záró üres értékeit a rendszer levágja. A függvény levágja a varbináris oszlopba beszúrt bináris értékek záró nulláit. |
Ha ki van párnázva, a karakteroszlopok üresek, a bináris oszlopok pedig nullákkal vannak kitöltve. Vágáskor a karakteroszlopok levágják a záró üreseket, a bináris oszlopok pedig a záró nullákat.
ANSI_PADDING-nak ON-nek kell lennie, amikor indexeket hoz létre vagy módosít számított oszlopokon vagy indexelt nézeteken. Az indexelt nézetekkel és a számított oszlopok indexelt indexeivel kapcsolatos kötelező SET beállítási beállításokról további információt a SET utasítások használata során megfontolandó szempontok című témakörben talál.
Az alapértelmezett érték a SET ANSI_PADDING következő ON: . Az SQL Server natív ügyfél ODBC-illesztőprogramja és az SQL Server natív ügyféloldali OLE DB-szolgáltatója az SQL Serverhez automatikusan be van állítva ANSI_PADDINGON csatlakozáskor. Ez konfigurálható ODBC-adatforrásokban, ODBC-kapcsolatattribútumokban vagy az alkalmazásban beállított OLE DB kapcsolati tulajdonságokban a csatlakozás előtt. Az alapértelmezett beállítás SET ANSI_PADDING az OFF DB-Library-alkalmazásokból származó kapcsolatokra vonatkozik.
A SET ANSI_PADDING beállítás nem befolyásolja az nchar, nvarchar, ntext, text, image, varbinary(max), varchar(max) és nvarchar(max) adattípusokat. Mindig megjelenítik a viselkedést SET ANSI_PADDING ON . Ez azt jelenti, hogy a záró szóközök és nullák nincsenek levágva.
Ha ANSI_DEFAULTS igen ON, ANSI_PADDING engedélyezve van.
A beállítás ANSI_PADDING végrehajtáskor vagy futtatáskor van definiálva, és nem elemzési időpontban.
A beállítás aktuális beállításának megtekintéséhez futtassa a következő lekérdezést.
DECLARE @ANSI_PADDING VARCHAR(3) = 'OFF';
IF ( (16 & @@OPTIONS) = 16 ) SET @ANSI_PADDING = 'ON';
SELECT @ANSI_PADDING AS ANSI_PADDING;
Engedélyek
A nyilvános szerepkör tagságát igényli.
Példák
Az alábbi példa bemutatja, hogy a beállítás hogyan befolyásolja ezeket az adattípusokat.
Beállítás ANSI_PADDING és ON tesztelés.
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
Most állítsa be ANSI_PADDING és OFF tesztelje.
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;