Maison base de données tutoriel mysql MySQL 中与浮点比较有关问题的解决_MySQL

MySQL 中与浮点比较有关问题的解决_MySQL

Jun 01, 2016 pm 01:57 PM
十进制 原因

    注意,下述部分主要与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行。

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
4 Il y a quelques semaines By DDD
Musée à deux points: toutes les expositions et où les trouver
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Quelle est la raison pour laquelle le screencasting échoue ? 'Une lecture incontournable pour les débutants : Comment résoudre le problème de l'échec d'une connexion de screencasting sans fil' Quelle est la raison pour laquelle le screencasting échoue ? 'Une lecture incontournable pour les débutants : Comment résoudre le problème de l'échec d'une connexion de screencasting sans fil' Feb 07, 2024 pm 05:03 PM

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

Qu'est-ce qui empêche WPS Office de démarrer un travail d'impression ? Qu'est-ce qui empêche WPS Office de démarrer un travail d'impression ? Mar 20, 2024 am 09:52 AM

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 Comment convertir une chaîne hexadécimale en nombre en php Oct 26, 2021 pm 06:36 PM

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)".

Mar 22, 2024 pm 12:45 PM

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.

Révéler les causes profondes de l'écran bleu Win11 Révéler les causes profondes de l'écran bleu Win11 Jan 04, 2024 pm 05:32 PM

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.

Pourquoi le chargement des téléphones mobiles Apple est-il si lent ? Pourquoi le chargement des téléphones mobiles Apple est-il si lent ? Mar 08, 2024 pm 06:28 PM

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.

Raisons et analyse de l'échec de l'installation du pilote Win10 Raisons et analyse de l'échec de l'installation du pilote Win10 Jan 02, 2024 pm 04:57 PM

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

Dépannage des causes et solutions pour le code d'état HTTP 550 Dépannage des causes et solutions pour le code d'état HTTP 550 Feb 20, 2024 am 09:49 AM

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.

See all articles