Udostępnij za pośrednictwem


Przechowywanie danych w formacie znaków

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 składowania są znaczące, następująco:

  • SQL Server char data

  • Inne typy danych, konwertowane na char magazynu

Danych char desenie magazynu dla programu SQL Server

SQL Server char data is always stored in the data file as the full length of the defined column.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 danych jest krótszy niż długość pole, spacje są dołączane do danych jako uzupełnienie; Aby uzyskać więcej informacji, zobacz Ustaw spowodowałyby (Transact-SQL).Jednakże w przypadku varchar typu rzeczywista liczba znaków jest przechowywana, dopóki nie zdecydujesz się prefiks lub terminator.

Desenie magazynu dla innych danych typów konwertowane na danych char

Ilość wolnego miejsca, przydzielony w pliku danych dla noncharacter dane przechowywane w formacie znak jest określana przez kombinację długość pola długość prefiksui terminatory w następujący sposób:

  • Długość prefiksu 0 i nie terminator pole jest traktowany tak, jakby była o stałej długości, określony przez wartość pola długość.Jeśli określającą długość prefiksu 0 i nie terminator bcp narzędzie przydziela maksymalną ilość miejsca w długość pole Monituj, ponieważ jest to maksymalna ilość miejsca, które mogą być potrzebne dla tego typu danych.Rozpoczyna się tej praktyki powoduje, że jest możliwe określenie, gdzie kończy się jedno pole i następnych.

  • Długość prefiksu 0 i terminator długość pole wartość jest ignorowana.Obszaru przechowywania pole jest długość danych plus wszelkie terminator.

    Ważna informacjaWażne:

    Określanie przedrostka i terminator jest obsługiwany tylko w pliki w formacie XML programu.

  • Z długość prefiksu 1, 2 lub 4 długość pole wartość jest ignorowana.Ilość miejsca używanego przez pole jest jego długość, długość pola prefiksy plus wszelkie terminatory.

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

Przykłady

Poniższe przykłady ilustrują interakcji między długość pole długość prefiksui terminatory, gdy dane są przechowywane w char format.Wartość długości prefiksu, jeśli jest obecny, jest reprezentowana przez p.Terminator, jeśli jest obecny, jest reprezentowana przez T. Wielokropek (...) wskazuje, że wzorzec powtarza się dla każdego pole.

Przykłady wzorców magazynu danych char SQL Server:

Ostrzeżenie

char Danych jest zawsze przechowywane jako pełnej długości (oznacza to, że jeden lub więcej spacji, "", jak uzupełnienie).

T1 jest schematu tabela (c1 char(8)).Przykładach założono wartość 5 znaków (reprezentowany jako Hello), który jest przechowywany pole, którego długość wynosi 8 znaków.W każdym przykładzie pola danych trzy obszary musi zawsze dołączane do 5-znakowy Hello wartości.Spacje dołączane są reprezentowane przez trzy kropki (∙∙∙).

 

Długość prefiksu = 0

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

Nie terminator:

Hello∙∙∙Hello∙∙∙...

PHello∙∙∙PHello∙∙∙...

Terminator:

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

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

UwagaUwaga:
Powyższy przykład dotyczy tylko plik formatu XML programu.

Przykłady wzorców magazynu dla typów danych noncharacter podczas konwersji do magazynu char

T1 jest schematu tabela (c1 int), a każdy wiersz ma wartość całkowitą 999.

Ostrzeżenie

Dla danych, które są konwertowane na char Magazyn z długość prefiksu, 1, 2, 4 lub terminator pola, dołączanie spacji do wartości danych jest zbędne.

 

Długość prefiksu = 0

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

Nie terminator:

999∙∙999∙∙...

P999P999...

Terminator:

999T999T...

P999TP999T...

UwagaUwaga:
Powyższy przykład dotyczy tylko plik formatu XML programu.

Ostrzeżenie

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