Tentukan panjang awalan dalam file data menggunakan bcp (SQL Server)

Berlaku untuk: SQL Server Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)

Untuk menyediakan penyimpanan file yang paling ringkas untuk ekspor data secara massal dalam format asli ke file data, perintah bcp mendahului setiap bidang dengan satu atau beberapa karakter yang menunjukkan panjang bidang. Karakter ini disebut karakter awalan panjang.

Permintaan bcp untuk Panjang Awalan

Jika perintah bcp interaktif berisi opsi masuk atau keluar tanpa sakelar file format (-f) atau sakelar format data (-n, -c, -w, atau -N), perintah meminta panjang awalan setiap bidang data, sebagai berikut:

Enter prefix length of field <field_name> [<default>]:

Jika Anda menentukan 0, bcp akan meminta panjang bidang (untuk jenis data karakter) atau terminator bidang (untuk jenis non-karakter asli).

Catatan

Setelah Anda secara interaktif menentukan semua bidang dalam perintah bcp , perintah akan meminta Anda menyimpan respons untuk setiap bidang dalam file format non-XML. Untuk informasi selengkapnya tentang file format non-XML, lihat File Format Non-XML (SQL Server).

Gambaran Umum Panjang Awalan

Untuk menyimpan panjang awalan bidang, Anda memerlukan cukup byte untuk mewakili panjang maksimum bidang. Jumlah byte yang diperlukan juga tergantung pada jenis penyimpanan file, kemampuan null kolom, dan apakah data disimpan dalam file data dalam format asli atau karakternya. Misalnya, jenis data teks atau gambar memerlukan empat karakter awalan untuk menyimpan panjang bidang, tetapi jenis data varchar memerlukan dua karakter. Dalam file data, karakter awalan panjang ini disimpan dalam format data biner internal SQL Server.

Penting

Saat Anda menggunakan format asli, gunakan awalan panjang daripada terminator bidang. Data format asli mungkin berkonflik dengan terminator karena file data format asli disimpan dalam format data biner internal SQL Server.

Panjang Awalan untuk Ekspor Massal

Catatan

Nilai default yang disediakan pada prompt panjang awalan saat Anda mengekspor bidang menunjukkan panjang awalan yang paling efisien untuk bidang tersebut.

Nilai null direpresentasikan sebagai bidang kosong. Untuk menunjukkan bahwa bidang kosong (mewakili NULL), awalan bidang berisi nilai -1; yaitu, membutuhkan setidaknya 1 byte. Perhatikan bahwa jika kolom tabel SQL Server memungkinkan nilai null, kolom memerlukan panjang awalan 1 atau lebih besar, tergantung pada jenis penyimpanan file.

Saat Anda mengekspor data secara massal dan menyimpannya dalam jenis data asli atau format karakter, gunakan panjang awalan yang diperlihatkan dalam tabel berikut.

SQL Server

jenis data
Format asli

NOT_NULL
Format asli

NULL
Format karakter

NOT_NULL
Format karakter

NULL
char 2 2 2 2
varchar 2 2 2 2
nchar 2 2 2 2
nvarchar 2 2 2 2
teks* 4 4 4 4
ntext* 4 4 4 4
binary 2 2 2 2
varbinary 2 2 2 2
Gambar* 4 4 4 4
datetime 0 1 0 1
smalldatetime 0 1 0 1
desimal 1 1 1 1
numerik 1 1 1 1
Float 0 1 0 1
nyata 0 1 0 1
int 0 1 0 1
bigint 0 1 0 1
smallint 0 1 0 1
tinyint 0 1 0 1
money 0 1 0 1
smallmoney 0 1 0 1
bit 0 1 0 1
uniqueidentifier 1 1 0 1
timestamp 1 1 1 1
varchar(max) 8 8 8 8
varbinary(max) 8 8 8 8
UDT (jenis data yang ditentukan pengguna) 8 8 8 8
XML 8 8 8 8
aql_variant 8 8 8 8

*Jenis data ntext, teks, dan gambar akan dihapus dalam versi SQL Server mendatang. Hindari menggunakan jenis data ini dalam pekerjaan pengembangan baru, dan rencanakan untuk memodifikasi aplikasi yang saat ini menggunakannya. Gunakan nvarchar(max), varchar(max), dan varbinary(max) sebagai gantinya.

Panjang Awalan untuk Impor Massal

Ketika data diimpor secara massal, panjang awalan adalah nilai yang ditentukan saat file data dibuat awalnya. Jika file data tidak dibuat oleh perintah bcp , karakter awalan panjang mungkin tidak ada. Dalam hal ini, tentukan 0 untuk panjang awalan.

Catatan

Untuk menentukan panjang awalan dalam file data yang tidak dibuat dengan menggunakan bcp, gunakan panjang yang disediakan dalam Panjang Awalan untuk Ekspor Massal, sebelumnya dalam topik ini.

Lihat juga

utilitas bcp
Tipe Data (Transact-SQL)
Tentukan Panjang Bidang dengan Menggunakan bcp (SQL Server)
Tentukan Terminator Bidang dan Baris (SQL Server)
Tentukan Jenis Penyimpanan File dengan Menggunakan bcp (SQL Server)