h2 DB的一个问题,关于类型--Numeric value out of range
来源:互联网 发布:smali语言编程 编辑:程序博客网 时间:2024/06/07 03:16
有一个表:
CREATE TABLEASSET(
ASSET NUMERIC ,
REAL NUMERIC ,
TIMESTAMP NUMERIC ,
TIMESTRING VARCHAR(100)
)
其中的TIMESTAMP 是NUMERIC 类型,实际存放的是UNIX Time,
可是有一次在做查询时发现一个问题:
SELECT * FROM ASSET where TIMESTAMP = 16461*1000*60*60*24;
Numeric value out of range: "59259600000"; SQL statement:
SELECT * FROM ASSET where TIMESTAMP = 16461*1000*60*60*24 [22003-176] 22003/22003 (Help)
59259600000溢出了,怎么回事?SELECT * FROM ASSET where TIMESTAMP = 16461*1000*60*60*24 [22003-176] 22003/22003 (Help)
单独试一下
select 16461*1000*60*60*24;
Numeric value out of range: "59259600000"; SQL statement:
select 16461*1000*60*60*24 [22003-176] 22003/22003 (Help)
select 16461*1000*60*60*24 [22003-176] 22003/22003 (Help)
还是溢出,看来16461*1000*60*60*24就不行啊,但是这个是完全没有问题的,再试:
select 1422253516184/1000/60/60/24;
这个可以,怎么回事?
为什么除可以,乘法就不可以?
再试一下:
select 1422253516184/1422253516184*16461*1000*60*60*24;
竟然可以了,相信到这里大家也明白了,h2默认使用第一个变量的类型储存结果,越算越大就溢出了,如果初始化一个大类型,则可以解决此问题。
再实际查询一下:
SELECT * FROM ASSET where TIMESTAMP = 1422253516184/1422253516184*16461*1000*60*60*24;
果然OK。
我用的h2是1.3.176,不知道后续版本是否有相同的问题。
0 0
- h2 DB的一个问题,关于类型--Numeric value out of range
- SQLSTATE[22003]: Numeric value out of range: 1690 BIGINT UNSIGNED value is out of range解决方法
- 将int字段改为decimal类型时出现1264 Out of range value的问题分析和处理
- 将int字段改为decimal类型后出现1264 Out of range value的问题分析和处理之二
- 遇到的一个"String index out of range" 问题
- An out-of-range value
- mysql报错:out of range value for column问题
- MySQL BIGINT UNSIGNED value is out of range... 的问题和解决
- 插入数据库 出现 Data truncation: Out of range value adjusted for column 'id'....的问题
- BIGINT UNSIGNED value is out of range in..的解决方法
- Out of range value adjusted for column
- Data truncation: Out of range value
- 关于String index out of range: -1报错问题
- ubuntu下mysql datetime类型错误 Out of range value for column
- Magento后台批量删除产品报错Fix for Magento issue: (SQLSTATE[22003]: Numeric value out of range: 1690 BIGINT UN
- Exception:Data truncation: Out of range value for column 'phone' at row 1异常问题
- 关于获取text类型value的一个小问题
- 遭遇 'Value of field 'A1' is out of range ...
- 结构体数组指针memset
- 网络(十)WebKit初识
- 归纳偏置:ML学习能力的前提条件
- 【经验谈】开发工程师人生之路
- Java内存模型
- h2 DB的一个问题,关于类型--Numeric value out of range
- Android开发学习笔记:圆角的Button
- WordPress自定义仪表盘
- sql server 查询某个表被哪些存储过程调用
- 前置数据模型的业务系统开发架构
- Leetcode-245.Shortest Word Distance
- ionic(1):安装
- emergency call number
- git基本使用方法