当前位置: 首页 > 面试题库 >

我可以在Oracle中为varchar2传递一个数字吗?

阴迪
2023-03-14
问题内容

我有一个Oracle表,并且column(col1)的类型为varchar2(12 byte)。它有一个行的值col1就是1234

当我说

select * from table where col1 = 1234

甲骨文说号码无效。这是为什么?为什么我不能通过数字varchar2

编辑:所有的答复都是伟大的。谢谢你。但我无法理解为什么它并不需要1234的时候1234是有效的VARCHAR2数据类型。


问题答案:

问题在于您希望Oracle将隐式地将1234转换为字符类型。相反,Oracle将列隐式转换为数字。列中有一个非数字值,因此Oracle引发错误。在Oracle文档警告说,不要隐式转换之前它解释了他们将如何得到解决。解释您所看到的行为的规则是:

在将字符值与数字值进行比较时,Oracle将字符数据转换为数字值。



 类似资料:
  • 问题内容: 我想为此varchar创建一个序列。如果用数字而不是varchar会更容易。在这种情况下,我可以 seq_no:= seq_no + 1; 但是,当我想将列中的下一个值存储为A0000002且前一个值为A0000001时(将下一个varchar rowby中的数字增加1),该怎么办? 问题答案: 这可以通过 您的示例可以通过在oracle中创建序列来完成 然后 现在我已经用过双重..但

  • 我想传递两个数据(它们是NotifiCard组件中的notification,replynotification,这些数据是数组)给FlatList 有可能吗??这是我的密码 那我怎么修复我的代码??

  • 问题内容: 我试图衡量几种方法的执行时间。所以我在想做一个方法,而不是多次重复相同的代码。 这是我的代码: 假设我有,如何使用它来衡量执行时间? 问题答案: 方法不是Java中的一流对象,因此不能将它们作为参数传递。您可以将方法调用包装在扩展例如接口的匿名类中:

  • 问题内容: 我想要与的关键字类似的语义。 问题答案: Java令人困惑,因为一切都是通过值传递的。但是,对于引用类型的参数(即不是原始类型的参数),引用本身是通过值传递的,因此它似乎是按引用传递的(人们常常声称它是)。情况并非如此,如下所示: 将打印到控制台。如果要打印上面的代码,Goodbye可以使用如下所示的显式引用:

  • 问题内容: 我尝试在各种线程上进行搜索,但是我不能最终理解这一点。 我尝试执行上述代码段,但没有用。我可以做这样的事情吗?如果是,那么我在这里做错了什么? 问题答案: 只允许使用一个控制器,它将作为中的控制器分配给加载模板。无需在模板中为主控制器定义。 如果需要定义多个控制器,建议您定义一个主/父控制器,并在中使用它,然后使用指令在模板中已有其他控制器。 要么… 使用Angular UI的 UI-

  • 问题内容: 在Java中,我可以做类似的事情 然后稍后在方法中“运行”代码。处理(匿名内部类)很痛苦,但是可以做到。 Go是否有可以促进函数/回调作为参数传递的内容? 问题答案: 是的,请考虑以下示例: 播放:http://play.golang.org/p/XNMtrDUDS0 导览:https : //tour.golang.org/moretypes/25(函数闭包)