Memahami perbedaan jenis data

Unduh driver JDBC

Ada sejumlah perbedaan antara jenis data bahasa pemrograman Java dan jenis data SQL Server. Microsoft JDBC Driver for SQL Server membantu memfasilitasi perbedaan tersebut melalui berbagai jenis konversi.

Jenis karakter

Jenis data string karakter JDBC adalah CHAR, VARCHAR, dan LONGVARCHAR. Driver JDBC menyediakan dukungan untuk API JDBC 4.0. Dalam JDBC 4.0, jenis data string karakter JDBC juga dapat berupa NCHAR, NVARCHAR, dan LONGNVARCHAR. Jenis string karakter baru ini mempertahankan jenis karakter asli Java dalam format Unicode dan menghapus kebutuhan untuk melakukan konversi ANSI-ke-Unicode atau Unicode-ke-ANSI.

Jenis Deskripsi
Panjang tetap Peta jenis data char dan nchar SQL Server langsung ke jenis JDBC CHAR dan NCHAR. Ini adalah jenis panjang tetap dengan padding yang disediakan oleh server jika kolom memiliki SET ANSI_PADDING ON. Padding selalu dinyalakan untuk nchar, tetapi untuk karakter, jika kolom karakter server tidak di-padding, driver JDBC menambahkan padding.
Panjang variabel Jenis SQL Server varchar dan nvarchar masing-masing dipetakan langsung ke jenis JDBC VARCHAR dan NVARCHAR.
Long Teks SQL Server dan jenisntext masing-masing dipetakan ke jenis JDBC LONGVARCHAR dan LONGNVARCHAR. Ini adalah jenis yang tidak digunakan lagi yang dimulai pada SQL Server 2005 (9.x), jadi Anda harus menggunakan jenis nilai besar, varchar(max) atau nvarchar(max), sebagai gantinya.

Menggunakan metode update<Numeric Type> dan updateObject (int, java.lang.Object) akan gagal terhadap teks dan kolom server ntext . Namun, menggunakan metode setObject dengan jenis konversi karakter tertentu didukung terhadap kolom teks dan server ntext .

Jenis string biner

Jenis string biner JDBC adalah BINARY, VARBINARY, dan LONGVARBINARY.

Jenis Deskripsi
Panjang tetap Jenis biner SQL Server memetakan langsung ke jenis BINER JDBC. Ini adalah jenis panjang tetap dengan padding yang disediakan oleh server jika kolom memiliki SET ANSI_PADDING AKTIF. Ketika kolom karakter server tidak diisi, driver JDBC menambahkan padding.

Jenis tanda waktu SQL Server adalah jenis BINARY JDBC dengan panjang tetap 8 byte.
Panjang variabel Jenis varbinary SQL Server memetakan ke jenis VARBINARY JDBC.

Jenis udt dalam SQL Server memetakan ke JDBC sebagai jenis VARBINARY.
Long Jenis gambar SQL Server memetakan ke jenis JDBC LONGVARBINARY. Jenis ini tidak digunakan lagi dimulai pada SQL Server 2005 (9.x), jadi Anda harus menggunakan jenis nilai besar, varbinary(maks) sebagai gantinya.

Jenis numerik tepat

Jenis numerik JDBC yang tepat memetakan langsung ke jenis SQL Server yang sesuai.

Jenis Deskripsi
BIT Jenis BIT JDBC mewakili bit tunggal yang bisa 0 atau 1. Ini memetakan ke jenis bit SQL Server.
TINYINT Jenis JDBC TINYINT mewakili satu byte. Ini memetakan ke jenis SQL Server kecil.
SMALLINT Jenis JDBC SMALLINT mewakili bilangan bulat 16-bit yang ditandatangani. Ini memetakan ke jenis SQL Server smallint.
INTEGER Jenis JDBC INTEGER mewakili bilangan bulat 32-bit yang ditandatangani. Ini memetakan ke jenis int SQL Server.
BIGINT Jenis JDBC BIGINT mewakili bilangan bulat 64-bit yang ditandatangani. Ini memetakan ke jenis bigint SQL Server.
NUMERIK Jenis JDBC NUMERIC mewakili nilai desimal presisi tetap yang menyimpan nilai presisi identik. Jenis NUMERIC memetakan ke jenis numerik SQL Server.
DESIMAL Jenis JDBC DECIMAL mewakili nilai desimal presisi tetap yang menyimpan nilai setidaknya presisi yang ditentukan. Jenis DESIMAL memetakan ke jenis desimal SQL Server.

Jenis DESIMAL JDBC juga memetakan ke jenis uang SQL Server dan smallmoney, yang merupakan jenis desimal presisi tetap khusus yang masing-masing disimpan dalam 8 dan 4 byte.

Perkiraan jenis numerik

Perkiraan JDBC jenis numerik adalah REAL, DOUBLE, dan FLOAT.

Jenis Deskripsi
REAL Jenis JDBC REAL memiliki tujuh digit presisi (presisi tunggal) dan peta langsung ke jenis SQL Server nyata.
DOUBLE Jenis JDBC DOUBLE memiliki 15 digit presisi (presisi ganda) dan peta ke jenis float SQL Server. Jenis JDBC FLOAT adalah sinonim dari DOUBLE. Karena mungkin ada kebingungan antara FLOAT dan DOUBLE, DOUBLE lebih disukai.

Jenis TanggalWaktu

Jenis JDBC TIMESTAMP memetakan ke jenis tanggalwaktu SQL Server dan smalldatetime. Jenis tanggalwaktu disimpan dalam dua bilangan bulat 4-byte. Jenis smalldatetime menyimpan informasi yang sama (tanggal dan waktu), tetapi dengan akurasi yang lebih sedikit, dalam dua bilangan bulat kecil 2 byte.

Catatan

Jenis tanda waktu SQL Server adalah jenis string biner panjang tetap. Ini tidak memetakan ke salah satu jenis waktu JDBC: DATE, TIME, atau TIMESTAMP.

Pemetaan jenis kustom

Fitur pemetaan jenis kustom JDBC yang menggunakan antarmuka SQLData untuk jenis tingkat lanjut JDBC (UDT, Struct, dan sebagainya). tidak diimplementasikan dalam driver JDBC.

Lihat juga

Memahami jenis data driver JDBC