oracle char(1)字段的条件

hkmswyz6  于 2023-04-20  发布在  Oracle
关注(0)|答案(2)|浏览(255)

在oracle中
在一个表中,我有一个字段char(1)。字段值是,1或空字段是空的
所以我试着

select p.id, p.confidential_phone
from person p
where p.confidential_phone=''

未返回结果
我用= ' 'is null试过
相同结果

eagi6jfj

eagi6jfj1#

oracle中的''NULL。不要使用= '',使用IS NULL
您的查询应该像这样工作:

select p.id, p.confidential_phone
from person p
where p.confidential_phone is null

考虑demo

mwkjh3gx

mwkjh3gx2#

Oracle将空字符串视为NULL,因此IS NULL将起作用

CREATE TABLE t1 (id int, confidential_phone char(1))
INSERT INTO t1 VALUES (1,'1')
INSERT INTO t1 VALUES (2,'0')
INSERT INTO t1 VALUES (3,'')
INSERT INTO t1 VALUES (4,NULL)
SELECT * FROM t1 WHERE confidential_phone IS NULL
ID机密_电话
联系我们
联系我们

fiddle

相关问题