Storage of Data in Character Format

How character-formatted data is stored in an exported data file depends on how the data was stored in the Microsoft SQL Server table.Dwa wzorce magazynowania są znaczące, w następujący sposób:

  • SQL Serverchar dane

  • Inne typy danych są konwertowane na char Magazyn

Danych char desenie magazynowania dla programu SQL Server

SQL Serverchar dane są zawsze przechowywane w pliku danych jako pełnej długości kolumna zdefiniowane.Na przykład kolumna zdefiniowane jako char(10) zawsze zajmuje 10 znaków w pliku danych, niezależnie od długości danych przechowywanych kolumna. Jeśli char jest krótszy niż długość pole danych, spacje są dołączane do danych jako uzupełnienie; Aby uzyskać więcej informacji, zobacz SET ANSI_PADDING (Transact-SQL). Jednakże w przypadku varchar Typ rzeczywista liczba znaków są przechowywane, dopóki nie zdecydujesz się prefiks lub terminator.

Desenie magazynu dla innych danych typy przekonwertowane na znak danych

Ilość miejsca na przechowywanie, przydzielony w pliku danych dla noncharacter danych zapisanych w formacie znaków jest określana przez kombinację długość pole długość prefiksu i terminatory w następujący sposób:

  • długość prefiksu 0 i nie terminator pole są traktowane tak, jakby był on o stałej długości, określoną przez wartość pole długość.Jeśli określenie długość prefiksu 0 i nie terminator BCP narzędzie przydziela maksymalną ilość miejsca na wyświetlane w wierszu długość pole, ponieważ jest to maksymalna ilość miejsca, które mogą być potrzebne dla danego typu danych.Rozpoczyna się to praktyka powoduje, że istnieje możliwość określenia, gdzie się kończy jednego pole i drugiego.

  • długość prefiksu 0 i terminator wartość pole Długość jest ignorowana.Miejsce używane przez pole ma długość danych oraz wszelkich terminator.

    Important noteImportant Note:

    Określanie zarówno prefiks, jak i terminator jest obsługiwany tylko w pliki w formacie XML inny niż.

  • długość prefiksu 1, 2 lub 4 wartość pole Długość jest ignorowana.Ilość miejsca używanego przez to pole jest jej długość, długość prefiksy pola, a także wszelkie terminatory.

We wszystkich przypadkach z powyższej listy można utworzyć plik danych, aby później ponownie do SQL Server miejsce przechowywania, zachowuje do minimum. Aby zminimalizować użycie miejsca na przechowywanie, należy użyć znaku długość prefiksu wraz z domyślny typ przechowywania plików i domyślną długość pole.

Przykłady

Poniższe przykłady ilustrują interakcji między pole Długość, długość prefiksu i terminatory, gdy dane są przechowywane w char Format. Długość prefiksu wartość, jeśli jest obecny, jest reprezentowany przez P.Terminator, jeśli jest obecny, jest reprezentowany przez T. Wielokropek (...) wskazuje, że wzorzec się powtarza, dla każdego pole.

Przykłady wzorców przechowywania danych char programu SQL Server:

Uwaga

The char data is always stored as full length (that is, with one or more spaces, ' ', as uzupełnienie).

Schemat tabela jest t1 (c1 char(8)). W przykładach założono (reprezentowany jako wartość 5-znakowy Hello), które są przechowywane pole, którego długość wynosi 8 znaków. W każdym z pól danych przykład trzy spacji zawsze musi być przypisany do 5-znakowy Hello wartość. Spacje dołączone są reprezentowane przez trzy kropki)∙∙∙).

 

Prefiks długość = 0

Długość prefiksu = 1, 2 lub 4

Nie terminator:

Hello∙∙∙Hello∙∙∙...

PHello∙∙∙PHello∙∙∙...

Terminator:

Hello∙∙∙THello∙∙∙T...

PHello∙∙∙TPHello∙∙∙T...

NoteNote:
W tym przykładzie ma zastosowanie tylko do pliku w formacie XML inny niż.

Przykłady wzorców magazynowania dla typów danych noncharacter podczas konwersji na przechowywanie znaku

Schemat tabela jest t1 (c1 int), a każdy wiersz zawiera wartość całkowitą 999.

Uwaga

Dla danych, które są konwertowane na char przechowywanie w obecności, długość prefiksu 1, 2, 4 lub terminator pole, dołączanie spacji do wartości danych nie jest konieczne.

 

Prefiks długość = 0

Długość prefiksu = 1, 2 lub 4

Nie terminator:

999∙∙999∙∙...

P999P999...

Terminator:

999T999T...

P999TP999T...

NoteNote:
W tym przykładzie ma zastosowanie tylko do pliku w formacie XML inny niż.

Uwaga

Jeśli nie określono długości prefiksu albo terminator, wartość całkowita są przechowywane przy użyciu 12 bajtów z ostatniego bajtów 9 przechowywania znaków spacji.