Oracle SQL选择clob字段不为空/ null的位置

时间:2013-01-09 15:41:05

标签: sql oracle10g clob

我正在尝试从存档数据库中获取行以填充测试环境数据库。我需要行,其中名为“AUDIT_LOG”的特定字段(CLOB)不能为空。

我尝试了以下简单的select语句,但我得到了

  

ORA-00932:不一致的数据类型:预期 - 获得CLOB

我试过的陈述:

SELECT * FROM SIEBEL.S_AUDIT_ITEM WHERE AUDIT_LOG = ''

SELECT * FROM SIEBEL.S_AUDIT_ITEM WHERE AUDIT_LOG != NULL

SELECT * FROM SIEBEL.S_AUDIT_ITEM WHERE AUDIT_LOG = 0

CLOB中的NULL是否等于空字符串。我感觉可能长度可用于色谱柱。

由于

3 个答案:

答案 0 :(得分:9)

检查NULL,无论数据类型如何,您都使用IS NOT NULLIS NULL

WHERE AUDIT_LOG IS NOT NULL

答案 1 :(得分:3)

SELECT * FROM SIEBEL.S_AUDIT_ITEM WHERE length(AUDIT_LOG) > 0

答案 2 :(得分:0)

以上方法均不适用于Oracle 10g: 我必须用一种不好的方式写它:

select * from SIEBEL.S_AUDIT_ITEM where to_char(AUDIT_LOG) != 'null' ;