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行。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Pourquoi le screencasting sans fil ne parvient-il pas à se connecter ? Certains amis ont signalé que la connexion échouait lors de l'utilisation de la mise en miroir d'écran sans fil. Que se passe-t-il ? Que dois-je faire si la connexion de mise en miroir d'écran sans fil échoue ? Veuillez confirmer si votre ordinateur, votre téléviseur et votre téléphone portable sont connectés au même réseau WiFi. Le logiciel de mise en miroir d'écran nécessite que les appareils soient sur le même réseau pour fonctionner correctement, et Quick Screen Mirroring ne fait pas exception. Par conséquent, veuillez vérifier rapidement vos paramètres réseau. Il est important de déterminer si la fonction de mise en miroir d'écran est prise en charge. Les téléviseurs intelligents et les téléphones mobiles prennent généralement en charge les fonctionnalités DLNA ou AirPlay. Si la fonction screencast n’est pas prise en charge, la capture d’écran ne sera pas possible. Vérifiez si l'appareil est correctement connecté : Il peut y avoir plusieurs appareils sous le même WiFi. Assurez-vous que vous vous connectez à l'appareil avec lequel vous souhaitez partager l'écran. 4. Assurez-vous que le réseau

Lors de la connexion d'une imprimante à un réseau local et du démarrage d'un travail d'impression, certains problèmes mineurs peuvent survenir. Par exemple, le problème "wpsoffice ne peut pas démarrer le travail d'impression..." se produit occasionnellement, entraînant l'impossibilité d'imprimer des fichiers, etc. ., retardant notre travail et nos études et provoquant un impact négatif, laissez-moi vous expliquer comment résoudre le problème selon lequel wpsoffice ne peut pas démarrer le travail d'impression ? Bien sûr, vous pouvez mettre à niveau le logiciel ou le pilote pour résoudre le problème, mais cela vous prendra beaucoup de temps. Ci-dessous, je vais vous donner une solution qui peut être résolue en quelques minutes. Tout d'abord, j'ai remarqué que wpsoffice ne pouvait pas démarrer le travail d'impression, ce qui entraînait l'impossibilité d'imprimer. Pour résoudre ce problème, nous devons enquêter un par un. Assurez-vous également que l’imprimante est sous tension et connectée. Généralement, une connexion anormale entraînera

Comment convertir une chaîne hexadécimale en nombre en PHP : 1. Utilisez la fonction hexdec() avec la syntaxe "hexdec(chaîne hexadécimale)" 2. Utilisez la fonction base_convert() avec la syntaxe "bindec(chaîne hexadécimale)" ; , 16, 10)".

Un guide complet des erreurs PHP500 : causes, diagnostics et correctifs Au cours du développement PHP, nous rencontrons souvent des erreurs avec le code d'état HTTP 500. Cette erreur est généralement appelée « 500InternalServerError », ce qui signifie que des erreurs inconnues se sont produites lors du traitement de la requête côté serveur. Dans cet article, nous explorerons les causes courantes des erreurs PHP500, comment les diagnostiquer et comment les corriger, et fournirons des exemples de code spécifiques pour référence. Causes courantes des erreurs 1.500 1.

Je pense que de nombreux amis ont rencontré le problème de l'écran bleu du système, mais je ne sais pas quelle est la cause de l'écran bleu win11. En fait, il existe de nombreuses raisons pour l'écran bleu du système, et nous pouvons les enquêter et les résoudre dans l'ordre. Raisons de l'écran bleu Win11 : 1. Mémoire insuffisante 1. Cela peut se produire lors de l'exécution de trop de logiciels ou lorsque le jeu consomme trop de mémoire. 2. Surtout maintenant, il y a un bug de débordement de mémoire dans Win11, il est donc très probable qu'il soit rencontré. 3. À ce stade, vous pouvez essayer de configurer la mémoire virtuelle pour résoudre le problème, mais le meilleur moyen consiste à mettre à niveau le module de mémoire. 2. Overclocking et surchauffe du processeur 1. Les causes des problèmes de processeur sont en réalité similaires à celles de la mémoire. 2. Cela se produit généralement lors de l'utilisation de logiciels de post-traitement, de modélisation et autres, ou lors de la lecture de jeux à grande échelle. 3. Si la consommation du processeur est trop élevée, un écran bleu apparaîtra.

Certains utilisateurs peuvent rencontrer des vitesses de chargement lentes lorsqu'ils utilisent des téléphones Apple. Ce problème peut avoir de nombreuses raisons. Il peut être dû à une faible puissance du chargeur, à une panne de l'appareil, à des problèmes avec l'interface USB du téléphone mobile ou même au vieillissement de la batterie et à d'autres facteurs. Pourquoi le téléphone mobile Apple se charge-t-il très lentement ? Réponse : problème d'équipement de charge, problème matériel de téléphone mobile, problème de système de téléphonie mobile. 1. Lorsque les utilisateurs utilisent un équipement de chargement avec une puissance relativement faible, la vitesse de chargement du téléphone mobile sera très lente. 2. L'utilisation de chargeurs ou de câbles de charge tiers de qualité inférieure entraînera également une charge lente. 3. Il est recommandé aux utilisateurs d'utiliser le chargeur d'origine officiel ou de le remplacer par un chargeur haute puissance certifié standard. 4. Il y a un problème avec le matériel du téléphone mobile de l'utilisateur. Par exemple, l'interface USB du téléphone mobile ne peut pas être contactée.

Certains amis ont rencontré le problème de l'échec de l'installation lors de l'installation des pilotes Windows 10, mais ils ne connaissaient pas la cause de l'échec ni comment le résoudre. Il existe plusieurs raisons différentes à ce problème. Veuillez me suivre pour les découvrir ci-dessous. Raisons pour lesquelles l'installation du pilote win10 échoue : 1. Version du système Actuellement, le système Windows 10 a déjà pour fonction d'installer automatiquement les pilotes. L'introduction de cette fonctionnalité élimine le besoin pour les utilisateurs de rechercher et d'installer manuellement les pilotes lors de l'installation du système. Le système détectera et installera automatiquement les pilotes appropriés, offrant ainsi une expérience plus pratique. Si l'installation de votre pilote échoue, une solution consiste à essayer de mettre à jour votre système. Cela peut résoudre certains problèmes liés au système, permettant au pilote de

Explorez les causes et les solutions du code d'état HTTP 550 Introduction : Dans les communications réseau, les codes d'état HTTP jouent un rôle important et sont utilisés pour indiquer les résultats du serveur traitant la demande. Parmi eux, le code d'état HTTP 550 est un code d'état relativement rare qui est généralement lié au refus du serveur d'exécuter la requête. Cet article explorera les causes du code d'état HTTP 550 et proposera des solutions. 1. Concepts de base des codes d'état HTTP. Avant de comprendre le code d'état HTTP 550, comprenons d'abord brièvement les concepts de base des codes d'état HTTP.
