SQL API 推下操作会删除浮点数字型
作者: davidda创建于 2026年9月6日更新于 2026年9月6日
标签api:sql
SQL API 表达式
| -- -- -- -- -- -- -- -- -- -- -- -- --
100.0 * 匹配 NULLIF(总数,0) ' 100' (错误)CAST(100 as DOUBLE)* 匹配 / NULIF(总数,0)' + 100' (错误) + XXX 33 + Q
100.1* 匹配 NULLIF(总数,0) ' 100.1 ' `33.36666666666 ' 。
将总量投给DOUBLE是一种工作。
可能与#8359有关,但同样的根本原因尚未确认。
□ 促成并修复
“ WrappedSelectNode: generate sql for literal” 使浮点32和浮点64值具有“格式!” 。 综合浮点会失去其小数点,所以DB推断出整数算术. 不断折叠还经过 " CAST(100 AS DOUBLE) " 。
拟议固定通过现有的方言铸模模板保留计划类型. 它适用于所有浮值,包括 " 0.5 " 。 这与现有的十进制128渲染相匹配,它已经释放出保持精度和尺度的投影. 初等类型推论和有意整数划分保持不变,包括#11319所涵盖的行为.
□ 兼容性
这种共享渲染器会影响多种方言. 保存浮标类型可以改变用户依赖之前不正确的截取结果的结果. 对明确铸件的发音/转换支持也很重要;MySQL在[8.0.17]中增加了FLOAT/DOUBLE铸件(https://dev.ZMySQL.com/doc/relnotes/MySQL/8.0/en/news-8-0-17.html).
内容来源: cube-js/cube