gpt4 book ai didi

database - 为什么在 where 条件下 oracle Number 字段忽略字符 d & f?

转载 作者:搜寻专家 更新时间:2023-10-30 22:34:02 24 4
gpt4 key购买 nike

正如我在问题标题中提到的,字符 dfOracle where 条件中被忽略(?)

下面的查询运行没有任何错误

select employee_id from employees where employee_id > 106f

但是,如果我在 106 ORA-00933: SQL 命令未正确结束 之后指定 df 以外的内容,则会抛出错误,因为 employee_id 是数据类型 Number

为什么会出现这种奇怪的行为?? 如果我指定 106df 它会抛出错误(这是正确的)

最佳答案

根据 Oracle docs , df 是数字文字的允许后缀,表示 64 位 (double) 和 32 位 (float) 二进制浮点类型。在你的情况下,类型没有任何区别(它可能只是为了比较而转换回整数,并且没有损失准确性,因为 106 足够小可以完全表示为 float ),所以它看起来没什么正在发生。语法不允许使用其他字母和 106df。 (e 是允许的,但前提是后跟数字。)

关于database - 为什么在 where 条件下 oracle Number 字段忽略字符 d & f?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39672743/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com