Udostępnij za pośrednictwem


Za pomocą tego znaku i varchar danych

The char and varchar data types store data composed of the following:

  • Wielkie i małe znaki takie jak, b i C.

  • Cyfry, takie jak 1, 2 i 3.

  • Znaki specjalne, takie jak znak "" at"(@), znaku handlowego i)&) i wykrzyknik (!).

The char or varchar data can be a single character, or a ciąg with a maximum of 8,000 characters for char data, and up to 2^31 characters for varchar data. The varchar data types can take two forms.varchar data can be of a specified maximum length of characters, for example, varchar(6) indicates that this data type can store a maximum of six characters; or it can be of the form varchar(max), which increases the maximum number of characters that can be stored by this data type to 2^31.Aby uzyskać więcej informacji na temat varchar(max), Zobacz Using Large-Value Data Types.

Każdy char i varchar wartość danych ma sortowanie. Sortowanie definiowanie atrybutów, takich jak wzorców bit używany do reprezentowania poszczególnych znaków, reguły porównania i czułość przypadek lub accenting.Każda baza danych ma domyślnym sortowaniem.Gdy zdefiniowano kolumna lub stała określone, są one przypisywane domyślnym sortowaniem w bazie danych, chyba że przypisanie określonych sortowanie, przy użyciu klauzula COLLATE.Jeśli dwa char lub varchar wartości o różnych ustawień sortowanie są łączone lub porównywane, reguły mają priorytet sortowanie określają, sortowanie, które jest używane dla operacji.

Stałe znak musi być ujęty w znaki pojedynczego cudzysłowu (') lub podwójnym cudzysłowie ("").Załączanie znaku stała w pojedynczy cudzysłów jest zalecane.Załączanie znaku stała w podwójny cudzysłów czasami nie jest dopuszczalna, gdy opcja IDENTIFIER podawane jest zestaw on.

To Transact-SQL przykład ustawia zmienną znaków do wartości:

DECLARE @MyCharVar CHAR(25)
SET @MyCharVar = 'Ricardo Adocicados'

Używając znaki pojedynczego cudzysłowu do rozdzielenia stała znaków, która zawiera osadzony pojedynczy znak cudzysłowu, reprezentują pojedynczy cudzysłów osadzone za pomocą dwa pojedyncze cudzysłowy.Na przykład:

SET @MyCharVar = 'O''Leary'

Jeśli dane, które mają być przechowywane jest dłuższa niż liczba znaków dozwolona, dane są obcięte.Na przykład, jeśli kolumna jest definiowana jako char(10)i wartość "Jest to ciąg znaków naprawdę długie" jest przechowywane w tej kolumnie SQL Serverciąg znaków, który ma być obcina "to jest".

The char data type is a fixed-length data type when the NOT NULL klauzula is specified. Jeśli wartość jest krótszy niż długość kolumny jest wstawiany do char Kolumna NOT NULL, wartość jest wypełniane po prawej stronie z puste miejsca, aby rozmiar kolumny. Na przykład, jeśli kolumna jest definiowana jako char(10)a dane mają być przechowywane są „ muzyka „ SQL Serverprzechowuje te dane jako "music_____", gdzie "_" wskazuje puste miejsce.

Jeśli ANSI_PADDING jest ON kiedy char Wartość NULL, kolumna jest tworzona, to działa tak samo, jak char Kolumna nie mieć wartości NULL: wartości są wypełniane prawo do rozmiaru kolumna. Jeśli ANSI_PADDING jest wyłączona, gdy char Wartość NULL, kolumna jest tworzona, go zachowuje się jak varchar Kolumna z ANSI_PADDING zestaw OFF: spacje końcowe są obcinane.

The varchar data type is a variable-length data type.Mniejszy niż rozmiar kolumna wartości nie są wypełniane prawo do rozmiaru kolumna.Jeśli opcja ANSI_PADDING zestaw do OFF podczas tworzenia kolumna wszystkie spacje końcowe są obcinane ze znaków wartości przechowywane kolumna.Jeśli ANSI_PADDING był zestaw ON podczas tworzenia kolumna, spacje końcowe nie są obcinane.

The way the bit patterns stored in the bytes of a character string are interpreted is based on the Microsoft SQL Server code page specified during Setup.A char lub varchar obiekt może zawierać dowolny znak w SQL Server Strona kodowa. .

Aplikacje używające SQL Server Sterowniki ODBC z SQL Server w wersja 6.5 lub starszej obsługuje tylko maksymalnie 255 bajtów danych znakowych. Aplikacje te próby pobrania parametrów znaków SQL Server w wersja 7.0 lub nowszej lub wynik kolumny zawierające więcej niż 255 bajtów danych, dane znakowe zostanie obcięta do liczby całkowitej w 255 bajtów.