Char i danych varchar

char i varchar przechowują dane składa się z następujących:

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

  • Cyfry, takie jak 1, 2 i 3.

  • Specjalne znaki takie jak "at" znak (@), znak ampersand (&) i wykrzyknik (!).

char Lub varchar może być pojedynczy znak lub ciąg znaków z maksymalnie 8000 znaków dla char danych i maksymalnie 2 ^ 31 znaków varchar danych.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.Więcej informacji o varchar(max), Zobacz Duża wartość typów danych.

Każdy char i varchar ma wartość danych sortowanie.Sortowanie zdefiniować atrybuty, takie jak desenie bit używany do reprezentowania każdy znak, reguły porównywania i czułość przypadek lub accenting.Każda baza danych ma domyślnie sortowanie.Gdy zdefiniowano kolumna lub stała określone, są przypisane sortowanie domyślne bazy danych, chyba że przypisanie określonego sortowania, używając klauzula COLLATE.Po dwóch char lub varchar Scalonej lub porównywane wartości o różnych ustawień sortowania, sortowanie pierwszeństwo reguły określają, które sortowania jest używane dla operacji.

Znak stałych muszą być ujęte w pojedynczy cudzysłów (') lub podwójnym cudzysłowie (").Ujęte w pojedynczy cudzysłów stała znakowa jest zalecane.Ujęte w podwójny cudzysłów stała znakowa czasami nie jest dozwolone w przypadku opcji Identyfikator NOTOWANE 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 znakowa, który 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 mają być przechowywane dłużej niż dozwolona liczba znaków, dane zostaną obcięte.Na przykład, jeśli kolumna jest definiowana jako char(10) i wartość "Jest ciąg znaków naprawdę długa" przechowywane kolumna, SQL Server obcina ciąg znaków "jest".

char Typ danych jest typ danych o stałej długości, gdy określono klauzula NOT NULL.Jeśli wartość jest krótszy niż długość kolumna jest wstawiany do char nie kolumna wartości NULL, wartość jest prawo dopełnione puste, aby rozmiar kolumna.Na przykład, jeśli kolumna jest definiowana jako char(10) i przechowywania danych jest "muzyka" SQL Server przechowuje dane jako "music_____", gdzie "_" Wskazuje puste miejsce.

Jeśli spowodowałyby jest o tym, kiedy char kolumna NULL jest tworzony, traktowany jest taki sam, jak char nie NULL kolumna: wartości są wyściełane prawo do rozmiaru kolumna.Jeśli spowodowałyby jest wyłączone podczas char kolumna NULL jest tworzony, traktowany jest jak varchar zestaw kolumn z spowodowałyby OFF: spacje końcowe są obcinane.

varchar Typ danych jest typ danych o zmiennej długości.Nie mniejszy niż rozmiar kolumna wartości są wyściełane prawo do rozmiaru kolumna.Jeśli opcja spowodowałyby była zestaw do wyłączone podczas tworzenia kolumna, wszystkie spacje końcowe są obcinane ze znaków wartości przechowywane kolumna.Jeśli został spowodowałyby zestaw na 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 korzystające z SQL Server sterowniki ODBC z SQL Server w wersja 6.5 lub starszej obsługuje maksymalnie 255 bajtów danych znak.Jeśli próba pobrania parametrów znaków tych aplikacji SQL Server wersja 7.0 lub nowszej, lub zestaw wyników kolumny zawierające więcej niż 255 bajtów danych, jest obcinana danych znakowych na 255 bajtów.