[英]Oracle 10g: column is blank, but is not null or an empty string
我的表中的列是空白的。 奇怪的是它似乎不是null或空字符串。 所以,如果我这样做:
SELECT *
FROM TABLE
WHERE column IS NULL
...要么:
SELECT *
FROM TABLE
WHERE column = ''
我一无所获。 思考?
发出此查询:
SELECT column, DUMP(column, 1016)
FROM table
它会显示确切的内容。
相关:Oracle不允许空字符串; 它们默默地转换为NULL
。
列可能只包含空格?
你试过了吗
select * from table where trim(column) is null
Oracle基本上是一个永久的烦恼,空字符串被视为null。 但是,你确定这是一个空字符串吗? 它可能是一个不可见的字符,例如空格或制表符/换行符/换行符等等...当您select length(column) from table
时,字符串长度会显示什么?
试试这个:
SELECT *
FROM TABLE
WHERE TRIM(column) IS NULL
如果您的列不是VARCHAR2
而是CHAR(N)
则填充空字符串的插入。 看看Tom Kyte讲述了什么
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.