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 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...
Note:
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...
Note:
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.