Di SQL Server, SET TEXTSIZE pernyataan menentukan ukuran varchar(max) , nvarchar(maks) , varbinary(maks) , teks , nteks , dan gambar data dikembalikan oleh SELECT pernyataan.
Microsoft menyarankan agar teks , nteks , dan gambar akan dihapus dalam versi SQL Server yang akan datang, jadi Anda harus menghindari penggunaan tipe data ini dalam pekerjaan pengembangan baru, dan berencana untuk memodifikasi aplikasi yang saat ini menggunakannya untuk menggunakan varchar(max) , nvarchar(maks) , atau varbinary(maks) sebagai gantinya.
Contoh 1 – Penggunaan Dasar
Berikut ini contoh pengaturan TEXTSIZE nilai.
SETEL UKURAN TEKS 2048;
Itu menetapkan TEXTSIZE menjadi 2048 byte.
Contoh 2 – Periksa Nilai TEXTSIZE
Anda dapat memeriksa TEXTSIZE saat ini nilai dengan @@TEXTSIZE :
PILIH @@TEXTSIZE SEBAGAI [Ukuran Teks];
Hasil:
+-------------+| Ukuran Teks ||-------------|| 2048 |+-------------+
Contoh 3 – Bagaimana Mempengaruhi Hasil Kueri
Berikut adalah contoh yang menunjukkan bagaimana TEXTSIZE nilai dapat memengaruhi hasil yang dikembalikan dalam SELECT kueri.
Pertama mari kita buat tabel, masukkan beberapa teks, lalu pilih.
UJI PENGGUNAAN;BUAT TABEL TextSizeTest ( varchar50 varchar(50), varcharMax varchar(max), nvarcharMax nvarchar(max) ); INSERT INTO TextSizeTestVALUES ( 'Dragonfruit', 'Dragonfruit', 'Dragonfruit' );SELECT * FROM TextSizeTest;
Hasil (normal):
+-------------+--------------+---------------+| varchar50 | varcharMax | nvarcharMax ||-------------+--------------+---------------|| Buah naga | Buah naga | Buah naga |+-------------+--------------+---------------+Inilah yang biasanya kita harapkan. Ini mengembalikan teks lengkap di dalam setiap kolom karena setiap baris teks membutuhkan kurang dari 2048 byte (yang saya atur
TEXTSIZEpada contoh sebelumnya).Tapi inilah yang terjadi jika saya mengurangi
TEXTSIZEnilai:ATUR UKURAN TEKS 4;PILIH * DARI TextSizeTest;Hasil:
+-------------+--------------+---------------+| varchar50 | varcharMax | nvarcharMax ||-------------+--------------+---------------|| Buah naga | Tarik | Dr |+-------------+--------------+---------------+Kolom pertama tidak terpengaruh, karena ini bukan kolom "maks". Maksud saya adalah, ini adalah varchar(50) dan bukan varchar(maks) .
TEXTSIZEopsi hanya memengaruhi kolom yang ditentukan denganmax.Kolom kedua mengembalikan empat karakter pertama. Ini karena kami menyetel
TEXTSIZEnilai ke 4, dan empat karakter pertama menggunakan 4 byte.Kolom ketiga hanya mengembalikan 2 karakter pertama. Ini karena ini adalah nvarchar kolom. Dalam hal ini, dua karakter pertama menggunakan 4 byte.
Contoh 4 – Setel Ulang Nilainya
Satu hal yang harus diperhatikan adalah menentukan
SET TEXTSIZE 0sebenarnya "mengatur ulang" ke nilai default 4096.SET TEXTSIZE 0;SELECT @@TEXTSIZE AS [@@TEXTSIZE];SELECT * FROM TextSizeTest;Hasil:
+-------------+| @@TEXTSIZE ||--------------|| 4096 |+-------------+(1 baris terpengaruh)+-------------+------------ --+---------------+| varchar50 | varcharMax | nvarcharMax ||-------------+--------------+---------------|| Buah naga | Buah naga | Buah Naga |+-------------+--------------+---------------+(1 baris terpengaruh)