2011-08-27 111 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 

這將檢查它們是否都爲空。

希望它有幫助...