Oracle之比较NVARCHAR2字符串

一、引言

昨天遇到一个问题,一直想不通是为什么,我在pl/sql里面执行sql语句,选出字段值等于某个值的的行: select * from test where 'col1' = '1234000000000000000841'; 

用select * from test;是可以查到该值的,但是用这条语句却没有结果,该字段的类型是NVARCHAR2

二、原因

最后发现这样执行语句就可以了: select * from test where "col1" = '1234000000000000000841'; 

这两条语句的差别就在一个是单引号,一个是双引号,这里的原因是我建表的时候字段名用的是小写字符。此时必须加双引号。当我改为大写字符时,下面这条语句也可以:

 select * from test where clo1 = '1234000000000000000841'; 

三、结论

所以,以后再Oracle中需要注意,字段名以及表名都用大写

posted @ 2015-01-29 09:15  冷冰若水  阅读(561)  评论(0编辑  收藏  举报