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)
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk