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中需要注意,字段名以及表名都用大写