text dan ntext sudah usang, jadi mari kita hilangkan sejenak. Untuk apa yang tersisa, ada 3 dimensi:
- Unicode (UCS-2) vs. non-unicode:
Ndi depan namanya menunjukkan Unicode - Panjang tetap vs. panjang variabel:
varmenunjukkan variabel, jika tidak tetap - Sebaris vs. BLOB:
(max)sebagai panjang menunjukkan BLOB, jika tidak adalah nilai dalam-baris
Jadi dengan ini, Anda dapat membaca arti jenis apa pun:
CHAR(10):adalah panjang tetap dalam baris non-Unicode ukuran 10NVARCHAR(256):adalah panjang variabel dalam baris Unicode dengan ukuran hingga 256VARCHAR(MAX):adalah panjang variabel BLOB non-Unicode
Jenis text yang tidak digunakan lagi dan ntext sesuai dengan tipe baru varchar(max) dan nvarchar(max) masing-masing.
Ketika Anda pergi ke detail, arti dari in-row vs. BLOB kabur untuk waktu yang kecil karena mesin mungkin optimalkan penyimpanan dan tarik BLOB in-row atau dorong nilai in-row ke dalam unit alokasi 'small BLOB', tetapi ini hanyalah detail implementasi. Lihat Organisasi Tabel dan Indeks
.
Dari sudut pandang pemrograman, semua jenis:CHAR , VARCHAR , NCHAR , NVARCHAR , VARCHAR(MAX) dan NVARCHAR(MAX) , mendukung API string seragam:Fungsi String
. Yang lama, tidak digunakan lagi, mengetik TEXT dan NTEXT jangan jangan mendukung API ini, mereka memiliki API TEXT terpisah, usang, untuk dimanipulasi. Anda tidak boleh menggunakan tipe yang sudah usang.
Jenis BLOB mendukung pembaruan di tempat yang efisien dengan menggunakan kolom UPDATE table SET column.WRITE(@value, @offset) sintaks.
Perbedaan antara tipe panjang tetap dan panjang variabel hilang saat kompresi baris pada tabel. Dengan mengaktifkan kompresi baris, jenis panjang tetap dan panjang variabel disimpan dalam format yang sama dan spasi tambahan tidak disimpan di disk, lihat Implementasi Kompresi Baris . Perhatikan bahwa kompresi halaman menyiratkan kompresi baris.