Aracılığıyla paylaş


Karakter biçiminde veri depolama

How character-formatted data is stored in an exported data file depends on how the data was stored in the Microsoft SQL Server table.Iki depolama desenleri, önemli şunlardır:

  • SQL Serverchar veri

  • Diğer veri türlerini dönüştürüldü char Depolama

Veri depolama desenler SQL Server için karakter

SQL Serverchar veriler, her zaman tanımlanmış sütun uzunluğunu tam veri dosyasında saklanır.Örneğin, tanımlanmış bir sütun char(10) sütunda depolanan verilerin uzunluğunu ne olursa olsun veri dosyasındaki 10 karakter her zaman olarak doldurur. If the char data is shorter than the alan uzunluğu, spaces are appended to the data as doldurma; for more information, see küme ANSI_PADDING (Transact-SQL). Ancak, için varchar Siz veya bir önek, hem de bir sonlandırıcı seçmediğiniz sürece, türü, yalnızca gerçek karakter sayısını depolanır.

Diğer veri türleri için dönüştürülen için char veri için depolama desenleri

Sonlandırıcılar, alan uzunluğu ve önek uzunluğu birleşimiyle karakter biçiminde saklanmış noncharacter veriler için veri dosyasında ayrılan depolama alanı aşağıdaki şekilde belirlenir:

  • Sabit uzunlukta, alan uzunluğu değeriyle belirtildiği gibi bir önek uzunluğu 0'ı ve yok bir sonlandırıcı alanı kabul edilir.Bir önek uzunluğu 0'ı ve yok bir sonlandırıcı belirtme, Kullanımıbcp yardımcı programı, en fazla alan uzunluğu komut istemine, çünkü bu söz konusu veri türü için gereken en büyük alanı gösterilen alan ayırır.Sona ereceği alan'nı belirlemek olanaklıdır, bu yöntem yapar ve sonraki başlar.

  • Olan bir önek uzunluğu 0 ile bir sonlandırıcı, alan-uzunluk değeri yoksayılır.Alan tarafından kullanılan depolama alanı verileri, artı bir sonlandırıcı uzunluğudur.

    Important noteImportant Note:

    Önek hem de bir sonlandırıcı belirtme yalnızca olmayan XML biçimi dosyalarda desteklenir.

  • Bir önek uzunluğu, 1, 2 veya 4 ile alan-uzunluk değeri yoksayılır.Alan tarafından kullanılan, uzunluk, uzunluk alanı öneklerini yanı sıra tüm sonlandırıcılar alandır.

Tüm servis talepleri yukarıdaki listede, bir veri dosyası içinde daha sonra yeniden oluşturabilirsiniz SQL Server depolama alanı için bir minimum tutar. Depolama alanı en aza indirmek için , varsayılan dosya depolama türü ve varsayılan alan uzunluğu ile birlikte bir uzunluğu önek karakter kullanın.

Örnekler

Veri depolandığında alan uzunluğu önek uzunluğu ve sonlandırıcılar arasındaki etkileşim aşağıdaki örneklerde gösterilmektedir. char Format. Bir önek uzunluğu değeri varsa, gösterilir p.Bir sonlandırıcı, varsa gösterilir t. Üç nokta (...) deseni, her alan için yinelenen gösterir.

SQL Server char veri için depolama desenleri örnekleri:

Not

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

T1 tablosunda şemadır (c1 char(8)). Örnekler (temsil edilen değer 5 karakter kabul eder. Hello), 8 karakter uzunluğunda bir alanda depolanmış olduğu. Her örnek veri alanları, üç boşluklar her zaman için 5 karakter eklenmesi gereken Hello Değer. Eklenmiş boşluk (üç noktalı) gösterilir∙∙∙).

 

önek uzunluğu = 0

Uzunluğu önek = 1, 2 veya 4

Sonlandırıcı yok:

Hello∙∙∙Hello∙∙∙...

PHello∙∙∙PHello∙∙∙...

Sonlandırıcı:

Hello∙∙∙THello∙∙∙t...

PHello∙∙∙tpHello∙∙∙t...

NoteNote:
Bu örnekte, yalnızca olmayan XML biçimi dosyasına uygulanır.

Char depolama birimine dönüştürüldüğünde noncharacter veri türleri için depolama desenleri örnekleri

T1 tablosunda şemadır (c1 int), ve her satırın tamsayısını 999.

Not

Veriler için dönüştürülür. char Depolama bir önek uzunluğu, 1, 2, 4 veya bir alan için veri değeri boşluk ekleme Sonlandırıcı, varsa, bu güvenlik açığından gereksizdir.

 

önek uzunluğu = 0

Uzunluğu önek = 1, 2 veya 4

Sonlandırıcı yok:

999∙∙999∙∙...

P999P999...

Sonlandırıcı:

999T999t...

P999tp999t...

NoteNote:
Bu örnekte, yalnızca olmayan XML biçimi dosyasına uygulanır.

Not

Önek uzunluğu veya Sonlandırıcı belirtmezseniz, son 9 boşluk karakterleri depolama baytları ile 12 bayt kullanarak tamsayı değeri depolanır.