Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Kesalahan berbeda dengan bidang gambar

Tipe data gambar dalam pernyataan SELECT yang berisi klausa DISTINCT. Tergantung pada versi SQL Server yang digunakan, ada beberapa cara untuk mengatasi pembatasan ini.

Untuk SQL Server 2000, kolom TEXT dapat dikonversi ke tipe data VARCHAR, kolom NTEXT dapat dikonversi ke tipe data NVARCHAR sementara tipe data GAMBAR dapat dikonversi ke tipe data VARBINARY. Pernyataan SELECT sebelumnya yang berisi klausa DISTINCT dapat ditulis ulang sebagai berikut dan menghindari pesan kesalahan:

SELECT DISTINCT [BookTitle], CAST([BookSummary] AS NVARCHAR(4000)) AS [BookSummary]FROM [dbo].[Book]

SELECT DISTINCT [BookTitle], CAST([BookImage] AS VARBINARY(8000)) AS [BookImage]FROM [dbo].[Book]Untuk SQL Server 2005 dan SQL Server 2008 (dan yang lebih baru), alih-alih membatasi NVARCHAR hingga 4000 karakter atau VARCHAR atau VARBINARY hingga 8000 karakter, specifier MAX dapat digunakan sebagai gantinya, seperti yang dapat dilihat pada pernyataan SELECT berikut:

SELECT DISTINCT [BookTitle], CAST([BookSummary] AS NVARCHAR(MAX)) AS [BookSummary]FROM [dbo].[Book]

SELECT DISTINCT [BookTitle], CAST([BookImage] AS VARBINARY(MAX)) AS [BookImage]FROM [dbo].[Book]Jika menggunakan SQL Server 2005 atau SQL Server 2008 (atau lebih baru), cara lain untuk mengatasi pembatasan ini dan pesan kesalahan ini tanpa menggunakan fungsi CAST atau CONVERT untuk mengubah tipe data teks, ntext dan gambar menjadi varchar, nvarchar dan varbinary, masing-masing, adalah mengubah tipe data kolom menjadi VARCHAR(MAX), NVARCHAR(MAX) dan VARBINARY (MAX). Tipe data TEXT, NTEXT, dan IMAGE akan dihapus di Microsoft SQL Server versi mendatang dan penggunaan tipe data ini harus dihindari.

Referensi:http://www.sql-server-helper .com/error-messages/msg-421.aspx




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cuplikan Basis Data SQL Server -4

  2. Bagaimana Hibernate memetakan tipe data SQL nvarchar(max)?

  3. Cte sql rekursif dengan untuk level hierarki

  4. Masalah dengan pernyataan SQL Server MERGE

  5. Apa perbedaan kinerja utama antara tipe data varchar dan nvarchar SQL Server?