MySQL 中与浮点比较有关问题的解决_MySQL
注意,下述部分主要与DOUBLE和FLOAT列相关,原因在于浮点数的不准确本质。MySQL使用64位十进制数值的精度执行DECIMAL操作,当处理DECIMAL列时,应能解决大多数常见的不准确问题。
浮点数有时会导致混淆,这是因为它们无法以准确值保存在计算机体系结构中。你在屏幕上所看到的值通常不是数值的准确值。对于FLOAT和DOUBLE列类型,情况就是如此。DECIMAL列能保存具有准确精度的值,这是因为它们是由字符串表示的。
在下面的示例中,介绍了使用DOUBLE时的问题:
mysql> CREATE TABLE t1 (i INT, d1 DOUBLE, d2 DOUBLE);
mysql> INSERT INTO t1 VALUES (1, 101.40, 21.40), (1, -80.00, 0.00),
-> (2, 0.00, 0.00), (2, -13.20, 0.00), (2, 59.60, 46.40),
-> (2, 30.40, 30.40), (3, 37.00, 7.40), (3, -29.60, 0.00),
-> (4, 60.00, 15.40), (4, -10.60, 0.00), (4, -34.00, 0.00),
-> (5, 33.00, 0.00), (5, -25.80, 0.00), (5, 0.00, 7.20),
-> (6, 0.00, 0.00), (6, -51.40, 0.00);
mysql> SELECT i, SUM(d1) AS a, SUM(d2) AS b
-> FROM t1 GROUP BY i HAVING a b;
+------+-------+------+
| i | a | b |
+------+-------+------+
| 1 | 21.4 | 21.4 |
| 2 | 76.8 | 76.8 |
| 3 | 7.4 | 7.4 |
| 4 | 15.4 | 15.4 |
| 5 | 7.2 | 7.2 |
| 6 | -51.4 | 0 |
+------+-------+------+
结果是正确的。尽管前5个记录看上去不应能进行比较测试(a和b的值看上去没有什么不同),但它们能进行比较,这是因为显示的数值间的差异在十分位左右,具体情况取决于计算机的体系结构。
如果列d1和d2定义为DECIMAL而不是DOUBLE,SELECT查询的结果仅包含1行,即上面显示的最后1行。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Mengapa siaran skrin wayarles gagal disambungkan? Sesetengah rakan telah melaporkan bahawa sambungan gagal apabila menggunakan pencerminan skrin wayarles Apakah yang sedang berlaku? Apakah yang perlu saya lakukan jika sambungan pencerminan skrin wayarles gagal? Sila sahkan sama ada komputer, TV dan telefon mudah alih anda disambungkan ke rangkaian WiFi yang sama. Perisian pencerminan skrin memerlukan peranti berada pada rangkaian yang sama untuk berfungsi dengan betul, dan Pencerminan Skrin Pantas tidak terkecuali. Oleh itu, sila semak tetapan rangkaian anda dengan cepat. Adalah penting untuk menentukan sama ada fungsi pencerminan skrin disokong. TV pintar dan telefon mudah alih biasanya menyokong fungsi DLNA atau AirPlay. Jika fungsi siaran skrin tidak disokong, siaran skrin tidak akan dapat dilakukan. Sahkan sama ada peranti disambungkan dengan betul: Mungkin terdapat berbilang peranti di bawah WiFi yang sama Pastikan anda menyambung ke peranti yang ingin anda kongsikan skrin. 4. Pastikan rangkaian

Apabila menyambungkan pencetak ke rangkaian kawasan setempat dan memulakan kerja cetakan, beberapa situasi kecil mungkin berlaku Contohnya, masalah "wpsoffice tidak boleh memulakan kerja cetakan..." kadang-kadang berlaku, mengakibatkan ketidakupayaan untuk mencetak fail, dsb. ., menangguhkan kerja dan kajian kami, dan menyebabkan kesan buruk , izinkan saya memberitahu anda bagaimana untuk menyelesaikan masalah bahawa wpsoffice tidak boleh memulakan kerja cetakan? Sudah tentu, anda boleh menaik taraf perisian atau pemacu untuk menyelesaikan masalah, tetapi ini akan membawa anda masa yang lama. Di bawah ini saya akan memberikan anda penyelesaian yang boleh diselesaikan dalam beberapa minit. Pertama sekali, saya perhatikan bahawa wpsoffice tidak boleh memulakan kerja cetakan, mengakibatkan ketidakupayaan untuk mencetak. Untuk menyelesaikan masalah ini, kita perlu menyiasat satu persatu. Juga, pastikan pencetak dihidupkan dan disambungkan. Secara amnya, sambungan tidak normal akan menyebabkan

Cara menukar rentetan perenambelasan kepada nombor dalam PHP: 1. Gunakan fungsi hexdec() dengan sintaks "hexdec(rentetan perenambelasan)" 2. Gunakan fungsi base_convert() dengan sintaks "bindec(rentetan heksadesimal)"; , 16, 10)".

Panduan Komprehensif untuk Ralat PHP 500: Punca, Diagnosis dan Pembetulan Semasa pembangunan PHP, kami sering menghadapi ralat dengan kod status HTTP 500. Ralat ini biasanya dipanggil "500InternalServerError", yang bermaksud bahawa beberapa ralat yang tidak diketahui berlaku semasa memproses permintaan di bahagian pelayan. Dalam artikel ini, kami akan meneroka punca biasa ralat PHP500, cara mendiagnosisnya dan cara membetulkannya serta memberikan contoh kod khusus untuk rujukan. Punca biasa 1.500 ralat 1.

Saya percaya ramai rakan telah menghadapi masalah skrin biru sistem, tetapi saya tidak tahu apa punca skrin biru win11 Sebenarnya, terdapat banyak sebab untuk skrin biru sistem, dan kami boleh menyiasat dan menyelesaikannya dengan teratur. Sebab skrin biru win11: 1. Memori tidak mencukupi 1. Ia mungkin berlaku apabila menjalankan terlalu banyak perisian atau permainan menggunakan terlalu banyak memori. 2. Terutama sekarang terdapat pepijat limpahan memori dalam win11, jadi kemungkinan besar akan dihadapi. 3. Pada masa ini, anda boleh cuba menyediakan memori maya untuk menyelesaikan masalah, tetapi cara terbaik ialah menaik taraf modul memori. 2. CPU overclocking dan overheating 1. Punca masalah CPU sebenarnya serupa dengan memori. 2. Ia biasanya berlaku apabila menggunakan pemprosesan pasca, pemodelan dan perisian lain, atau semasa bermain permainan berskala besar. 3. Jika penggunaan CPU terlalu tinggi, skrin biru akan muncul.

Sesetengah pengguna mungkin menghadapi kelajuan pengecasan yang perlahan apabila menggunakan telefon Apple. Terdapat banyak sebab untuk masalah ini Ia mungkin disebabkan oleh kuasa rendah peranti pengecasan, kegagalan peranti, masalah dengan antara muka USB telefon bimbit, atau penuaan bateri dan faktor lain. Mengapa telefon bimbit Apple mengecas dengan sangat perlahan Jawapan: masalah peralatan mengecas, masalah perkakasan telefon bimbit, masalah sistem telefon bimbit. 1. Apabila pengguna menggunakan peralatan pengecasan dengan kuasa yang agak rendah, kelajuan pengecasan telefon bimbit akan menjadi sangat perlahan. 2. Menggunakan pengecas inferior pihak ketiga atau kabel pengecasan juga akan menyebabkan pengecasan perlahan. 3. Adalah disyorkan bahawa pengguna menggunakan pengecas asal rasmi, atau menggantikannya dengan pengecas kuasa tinggi yang diperakui biasa. 4. Terdapat masalah dengan perkakasan telefon bimbit pengguna Sebagai contoh, antara muka USB telefon bimbit tidak boleh dihubungi.

Sesetengah rakan menghadapi masalah kegagalan pemasangan semasa memasang pemacu Windows 10, tetapi mereka tidak tahu punca kegagalan atau cara menyelesaikannya. Terdapat beberapa sebab yang berbeza untuk masalah ini. Sila ikuti saya untuk mengetahui di bawah. Sebab mengapa pemasangan pemacu win10 gagal: 1. Versi sistem Pada masa ini, sistem Windows 10 sudah mempunyai fungsi memasang pemacu secara automatik. Pengenalan ciri ini menghapuskan keperluan untuk pengguna mencari dan memasang pemacu secara manual semasa memasang sistem Sistem akan mengesan dan memasang pemacu yang sesuai secara automatik, memberikan pengalaman yang lebih mudah. Jika pemasangan pemacu anda gagal, satu penyelesaian ialah cuba mengemas kini sistem anda. Ini mungkin membetulkan beberapa isu berkaitan sistem, membenarkan pemandu untuk

Terokai punca dan penyelesaian kod status HTTP 550 Pengenalan: Dalam komunikasi rangkaian, kod status HTTP memainkan peranan penting dan digunakan untuk menunjukkan hasil pelayan memproses permintaan. Antaranya, kod status HTTP 550 ialah kod status yang agak jarang berlaku yang biasanya berkaitan dengan pelayan yang enggan melaksanakan permintaan tersebut. Artikel ini akan meneroka punca kod status HTTP 550 dan menyediakan penyelesaian. 1. Konsep asas kod status HTTP Sebelum memahami kod status HTTP 550, mari kita fahami secara ringkas konsep asas kod status HTTP.
