float dan nyata (Transact-SQL)

Berlaku untuk: SQL Server Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)

Jenis data perkiraan angka untuk digunakan dengan data numerik floating point. Data floating point adalah perkiraan; oleh karena itu, tidak semua nilai dalam rentang jenis data dapat diwakili dengan tepat. Sinonim ISO untuk nyata adalah float(24).

Konvensi sintaks transact-SQL

Sintaks

float [ (n) ] Di mana n adalah jumlah bit yang digunakan untuk menyimpan mantissa angka float dalam notasi ilmiah dan, oleh karena itu, menentukan presisi dan ukuran penyimpanan. Jika n ditentukan, nilainya harus antara 1 dan 53. Nilai default n adalah 53.

n nilai Presisi Ukuran penyimpanan
1-24 7 digit 4 byte
25-53 15 digit 8 byte

Catatan

SQL Server memperlakukan n sebagai salah satu dari dua nilai yang mungkin. Jika 1<=n<=24, n diperlakukan sebagai 24. Jika 25<=n<=53, n diperlakukan sebagai 53.

Jenis data SQL Server float[(n)] sesuai dengan standar ISO untuk semua nilai n dari 1 hingga 53. Sinonim untuk presisi ganda adalah float(53).

Catatan

Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 dan yang lebih lama, lihat Dokumentasi versi sebelumnya.

Keterangan

Jenis Data Rentang Penyimpanan
Float - 1,79E+308 ke -2,23E-308, 0 dan 2,23E-308 hingga 1,79E+308 Tergantung pada nilai n
nyata - 3,40E + 38 hingga -1,18E - 38, 0 dan 1,18E - 38 hingga 3,40E + 38 4 Byte

Mengonversi float dan data nyata

Nilai float dipotong ketika dikonversi ke jenis bilangan bulat apa pun.

Ketika Anda ingin mengonversi dari data float atau nyata ke karakter, menggunakan fungsi string STR biasanya lebih berguna daripada CAST( ). Ini karena STR memungkinkan lebih banyak kontrol atas pemformatan. Untuk informasi selengkapnya, lihat STR (Transact-SQL) dan Functions (Transact-SQL).

Sebelum SQL Server 2016 (13.x), konversi nilai float ke desimal atau numerik dibatasi hanya untuk nilai presisi 17 digit. Nilai float apa pun yang kurang dari 5E-18 (ketika diatur menggunakan notasi ilmiah 5E-18 atau notasi desimal 0,000000000000000000) membulatkan ke bawah ke 0. Ini tidak lagi menjadi batasan pada SQL Server 2016 (13.x).

Lihat juga

ALTER TABLE (Transact-SQL)
CAST dan CONVERT (Transact-SQL)
BUAT TABEL (Transact-SQL)
Konversi Tipe Data (Mesin Database)
Tipe Data (Transact-SQL)
DECLARE @local_variable (Transact-SQL)
SET @local_variable (Transact-SQL)