查询字段类型为numeric时,where条件与‘ ’对比报错

环境

系统平台:Linux x86-64 Red Hat Enterprise Linux 7
版本:4.5

症状

在查询中字段类型为numeric时加where条件不等于空时报错,无效的类型numeric 输入语法:’’

问题原因

瀚高数据库中numeric不能与’ '进行对比,在查询时where条件不能写为 where numeric = ‘’;

解决方案在瀚高数据库中,字段类型为numeric时空值只能是null,不能为’ ’ 修改时去掉where条件 = ’’使用 is null查询;

例如:

test=> create table test_numeric(id numeric);
CREATE TABLE

test=> insert into test_numeric values (0);
INSERT 0 1
test=> insert into test_numeric values (null);
INSERT 0 1
test=> insert into test_numeric values (null);
INSERT 0 1
test=> insert into test_numeric values (1);
INSERT 0 1
test=> select * from test_numeric ;
 id
----
  0


  1
(4 行记录)

test=> select * from test_numeric where id = '';
错误:  无效的类型 numeric 输入语法: ""1select * from test_numeric where id = '';
                                           ^
test=> select * from test_numeric where id is null;
 id
----


(2 行记录)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值