南大通用GBase 8a数据库to_number关联报错问题处理方法

原文链接:www.gbase.cn/community/p...

更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。

问题现象

to_number和decimal列关联时报错,报错内容如下:

sql 复制代码
ERROR 1149 (42000): (GBA-02SC-1001) Data types of equivalence join relation ((to_number(`a`.`a`) = `b`.`a`)) are not supported , data types: left is DOUBLE, right is DECIMAL(22,0)

具体复现过程:

sql 复制代码
gbase> create table t_to_number_dec(a decimal(22,0));
Query OK, 0 rows affected (Elapsed: 00:00:02.04)
gbase> create table t_to_number_varchar(a varchar(10));
Query OK, 0 rows affected (Elapsed: 00:00:00.12)
gbase> insert into t_to_number_dec values (111111);
Query OK, 1 row affected (Elapsed: 00:00:00.39)
gbase> insert into t_to_number_varchar values ('111111');
Query OK, 1 row affected (Elapsed: 00:00:00.35)
gbase> select * from t_to_number_varchar a join t_to_number_dec b on to_number(a.a) = b.a;
ERROR 1149 (42000): (GBA-02SC-1001) Data types of equivalence join relation ((to_number(`a`.`a`) = `b`.`a`)) are not supported , data types: left is DOUBLE, right is DECIMAL(22,0)

解决方案:

修改gbase_to_number_str2dec为1,修改后执行情况如下:

sql 复制代码
gbase> set gbase_to_number_str2dec = 1;
Query OK, 0 rows affected (Elapsed: 00:00:00.00)
gbase> select * from t_to_number_varchar a join t_to_number_dec b on to_number(a.a) = b.a;
+--------+--------+
| a      | a      |
+--------+--------+
| 111111 | 111111 |
+--------+--------+
1 row in set (Elapsed: 00:00:00.12)

附:gbase_to_number_str2dec参数含义:

to_number函数在处理字符串时,转换后的类型时,参数值为0时转换成double类型,参数值为1时,转换成decimal(65,30)类型。

默认值:'OFF,0

最小值:'OFF',0

最大值:ON',1

级别: global、session

原文链接:www.gbase.cn/community/p...

更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。

相关推荐
柯3491 分钟前
Redis的过期删除策略和内存淘汰策略
数据库·redis·lfu·lru
Tiger_shl13 分钟前
【Python语言基础】24、并发编程
java·数据库·python
05091522 分钟前
测试基础笔记第十一天
java·数据库·笔记
A charmer40 分钟前
【MySQL】数据库基础
数据库·mysql
pjx9871 小时前
应用的“体检”与“换装”:精通Spring Boot配置管理与Actuator监控
数据库·spring boot·oracle
松树戈1 小时前
PostgreSQL 分区表——范围分区SQL实践
数据库·sql·postgresql
bing_1581 小时前
Redis 的单线程模型对微服务意味着什么?需要注意哪些潜在瓶颈?
数据库·redis·微服务
wangzhongyudie1 小时前
SQL实战:01之行转列实现
数据库·sql
斗鹰一余洛晟2 小时前
工作中sql总结
数据库·sql
阿七想学习2 小时前
MySQL《事务》
数据库·mysql