Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform 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 in atau out tanpa sakelar file format (-f) atau sakelar format data (-n, -c, -w, atau -N), perintah akan meminta panjang awalan setiap bidang data, sebagai berikut.
Enter prefix length of field <field_name> [<default>]:
Jika Anda menentukan 0, bcp akan meminta masukan panjang bidang (untuk tipe data karakter) atau penghentian bidang (untuk tipe data non-karakter bawaan).
Catatan
Setelah Anda secara interaktif menentukan semua bidang dalam perintah bcp , perintah 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 tipe penyimpanan file, nullability kolom, dan apakah data disimpan dalam file data dalam format aslinya atau format karakter. 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 pembatas bidang. Data format asli mungkin bertentangan dengan terminator karena file data dengan format asli memiliki penyimpanan dalam format data biner internal milik SQL Server.
Panjang awalan untuk ekspor massal
Catatan
Nilai default yang disediakan pada petunjuk panjang awalan saat Anda mengekspor data sebuah 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; artinya, bidang memerlukan setidaknya 1 byte. 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 asliNOT NULL |
Format asliNULL |
Format karakterNOT NULL |
Format karakterNULL |
|---|---|---|---|---|
| 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 |
| biner | 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 |
| real | 0 | 1 | 0 | 1 |
| int | 0 | 1 | 0 | 1 |
| bigint | 0 | 1 | 0 | 1 |
| smallint | 0 | 1 | 0 | 1 |
| tinyint | 0 | 1 | 0 | 1 |
| uang | 0 | 1 | 0 | 1 |
| smallmoney | 0 | 1 | 0 | 1 |
| bit | 0 | 1 | 0 | 1 |
| pengidentifikasi unik | 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 |
| sql_variant | 8 | 8 | 8 | 8 |
| vector | 2 | 2 | N/A | N/A |
- Jenis data ntext, teks, dan gambar akan dihapus di versi SQL Server yang akan datang. 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 ketika file data dibuat pada 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 awalan yang telah disediakan dalam Panjang Awalan untuk Ekspor secara Massal, yang telah dibahas sebelumnya dalam topik ini.