首页 > 数据库 >SQLite REAL数据类型值比较问题

SQLite REAL数据类型值比较问题

时间:2022-10-25 15:47:54浏览次数:73  
标签:REAL SQLite 数据类型 商品 Amount where

SQLite REAL数据类型值比较问题

数据类型是REAL的字段,where条件where 字段 = 值查询时,可能查询结果为空,使用 where abs(字段 - 值) < 0.00001查询

例子

表结构

字段名称 数据类型 说明(可选)
ID INTEGER 序号
Name TEXT(50) 名称
Amount REAL 数量
CREATE TABLE [tCeShi](
  [ID] INTEGER, 
  [Name] TEXT(50), 
  [Amount] REAL);

表中数据

使用SQLite Expert从CSV文件中导入的

ID Name Amount
1 商品A 0.31
2 商品B 0.46
3 商品C 0.73
4 商品D 1.09
5 商品E 1.58
6 商品F 2.17
7 商品G 6.56
8 商品H 9.17
9 商品I 11.68
10 商品J 13.06
11 商品K 14.9

查询语句

Select * from tCeShi where Amount = 13.06

返回结果为空

使用printf进行打印

select printf("%10.20f", Amount) from tCeShi 

返回结果

printf("%10.20f", Amount)
13.05999999999998000000

修改查询语句

Select * from tCeShi where abs(Amount - 13.06) < 0.00001

返回结果

ID Name Amount
10 商品J 13.06

参考文档

https://stackoverflow.com/questions/58740993/real-values-floating-point-comparing-issue-in-sqlite

标签:REAL,SQLite,数据类型,商品,Amount,where
From: https://www.cnblogs.com/txgh/p/16825030.html

相关文章

  • 基本数据类型
    标准数据类型Python3中有六个标准的数据类型:Number(数字)String(字符串)List(列表)Tuple(元组)Set(集合)Dictionary(字典)Python3的六个标准数据类型中:不可变数据(3个):Num......
  • Go | 基本数据类型的相互转换
    基本数据类型的相互转换Go在不同类型的变量之间赋值时需要显示转换,不能自动转换基本语法表达式T(v):将值v转换成类型TT就是数据类型:int32,int64,float32...v就是......
  • Redis的数据类型详解
    作者:IT邦德中国DBA联盟(ACDU)成员,目前从事DBA及程序编程(Web\java\Python)工作,主要服务于生产制造现拥有Oracle11gOCP/OCM、Mysql、Oceanbase(OBCA)认证分布式TBase\TDSQL数......
  • 针对特殊数据类型JSON.parse()无法完整实现深拷贝的情况下的解决方法
    //判断数据类型functiontypeOf(obj){consttoString=Object.prototype.toStringconstmap={'[objectBoolean]':'boolean','[objectNumber]':'number','[o......
  • 数据类型 varchar 和 varchar 在 modulo 运算符中不兼容处理方法
    用Ascii码替代   ......
  • Python的数据类型详解
    1.字符串及其常用函数1.字符串中访问指定的值字符串中访问指定的值1.用[i]下标表示,从左到右顺序从0开始,从右到左顺序从-1开始2.变量[头下标:尾下标],截取......
  • MySQL中数据类型宽度
    一、数据类型的取值范围和宽度字段类型对应的取值范围:类型字节有符号取值范围无符号取值范围TINYINT1-128~1270~255SMALLINT2-32768~327670......
  • 六大数据类型
    不可变数据(3个):Number(数字)、String(字符串)、Tuple(元组);可变数据(3个):List(列表)、Dictionary(字典)、Set(集合)。字符串操作1.format()格式化字符串2.count()用于统计字符串里......
  • unknown directive "real_ip_recursive" in /usr/local/nginx/conf/nginx.conf:91报错
    报错原因real_ip_recursiveon;的开启需要安装nginx模块http_realip_module解决办法重新配置安装nginx./configure--prefix=/usr/local/nginx--with-http_ssl_modu......
  • LVS DR模式 RealServer 为 Windows 2008 R2配置
    有3篇文档详细介绍​​http://kb.linuxvirtualserver.org/wiki/Windows_Servers_in_LVS/DR_and_LVS/TUN_Clusters​​​​http://blog.loadbalancer.org/direct-server-retu......