2011-08-27 86 views
10

如何比较VARCHAR2变量,它是一个空值?Oracle空条件来检查条件

+2

@OMG小马:情况并非总是如此。 SQL Server确实区分了''和NULL。但是,Oracle(这是OP所要求的)不会。 –

回答

32

Oracle不区分空字符串和NULL。要检查变量是否为空字符串,请使用IS NULL语法。

8

你可以使用以下两种:

IF v_test IS NULL 
THEN 
    -- Business Logic 

IF NVL(v_test, 'NULL') = 'NULL' 
THEN 
    -- Business Logic 

你的问题不说“比较”一个VARCHAR变量,因此,如果您比较它然后另一个变量是空:

IF (v_test1 IS NULL and v_test2 IS NULL) 
THEN 
    -- Business Logic 

这将检查它们是否都为空。

希望它有帮助...