float dan nyata (Transact-SQL)
Berlaku untuk: SQL Server Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics Analytics
Platform 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).
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)