float dan real (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)Titik akhir analitik SQL di Microsoft FabricWarehouse di Microsoft Fabric

Perkiraan jenis data angka untuk digunakan dengan data numerik titik float. Data titik mengambang 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 float SQL Server[(n)] mematuhi 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 (12.x) dan versi 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
real - 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. Setiap nilai float kurang dari 5E-18 (ketika diatur menggunakan notasi ilmiah 5E-18 atau notasi desimal 0,0000000000000000005) membulatkan ke bawah ke 0. Ini bukan lagi pembatasan pada SQL Server 2016 (13.x).

Baca juga

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