如何在plsql中检查列值是否为null?

时间:2011-05-27 05:28:34

标签: java sql plsql

我有一个名为Shipment的表,其中包含HAWB, MAWB列。如何检查这两列是否具有空值?

5 个答案:

答案 0 :(得分:5)

要查找HAWB为空的行:

SELECT * FROM Shipment WHERE HAWB IS NULL;

要查找MAWB为空的行:

SELECT * FROM Shipment WHERE MAWB IS NULL;

如果要查找HAWB不为空的行:

SELECT * FROM Shipment WHERE HAWB IS NOT NULL;

最后,如果你想找到MAWB不为空的行:

SELECT * FROM Shipment WHERE MAWB IS NOT NULL;

答案 1 :(得分:2)

只需使用HAWB is null and MAWB is nullis not null进行反向。

答案 2 :(得分:1)

在SQL中,您可以使用null关键字检查列的值是否为IS NULL

要检查值是否为NOT NULL,您可以使用关键字IS NOT NULL

例如:

Select * from tableName where columnName IS NULL
Select * from tableName where columnName IS NOT NULL

或者在Java中,您可以获取此列的值并相应地检查其值。

希望这有帮助。

答案 3 :(得分:1)

如果您想学习pl / sql,可以启动here

快乐的编码!

顺便说一下,同一个链接可以回答你的question(及更多)

答案 4 :(得分:0)

创建一个代码块并创建一个游标,它将保存您需要的数据。

声明

光标MyCursor IS

SELECT HAWB,MAWB    从装运    WHERE .........(您可以选择多行或单行,这取决于您在where子句中放置的内容)

BEGIN

对于MyCursor LOOP中的eachRecord

--You can do any kind of processing in here
-- access the data in the cursor using eachRecord.HAWB OR eachRecord.MAWB 

--This will print all the values stored in the column HAWB if there is only one record then only one value will be printed

DBMS_OUTPUT.PUT_LINE(eachRecord.HAWB);

--same happens here
DBMS_OUTPUT.PUT_LINE(eachRecord.MAWB);

- 的 * ** * ** * ** * ** * ** * ** * ** * ** * *** < /强>

- 检查HAWB或MAWB的第一个值是否为空

如果eachRecord.HAWB为NULL那么

- 在此进行处理

ELSIF eachRecord.MAWB为NULL然后

- 在此进行处理

END IF;

LOOP;

END;

数据将保留在游标中,就像数组一样,您可以在代码块中随意执行任何操作。您还可以查看来自游标的FETCHING数据,而不是使用LOOP来处理它