GBase 8a
其他
文章
gbase8a查询decimal类型的字段时,返回结果集不符合预期
发表于2024-04-25 09:56:1143次浏览0个评论
问题描述:
gbase8a查询decimal类型的字段时,当where decimal_field=’ABC21315’查询条件为非数值类型时,返回结果集不符合预期,返回的结果集中包含decimal_field=0的数据。
问题原因:
在Gbase8a中,如果一个列是DECIMAL类型,而你在查询时将其与一个非数值的字符串进行比较,Gbase8a会尝试将这个字符串转换为一个数值。如果这个字符串无法被转换为数值,Gbase8a会将其视为0。因此,当你执行SELECT查询时,将非数值字符串'ABC21315'与DECIMAL列decimal_field比较,Gbase8a会将'ABC21315'转换为0,导致返回数值为0的记录。
解决办法:
(1) 使用合法的查询条件进行查询。
(2)或者修改sql_mode,增加STRICT_ALL_TABLES
评论
登录后才可以发表评论
热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25044
- 42023-09-25浏览数:18519
- 52020-05-11浏览数:17526