2011-04-07 90 views
2

我有超过100000行的数据集,超过100列,其中一些值为NULL。现在我想删除所有包含NULL值的行。有条件地删除行

任何人都可以建议它的SQL命令吗?

+2

请发布您迄今为止编写的代码。人们通常不喜欢只为你写代码。事实上,这是一个工作描述,而不是一个问题。 – 2011-04-07 23:57:42

回答

0

使用像PHP这样的脚本语言来检索所有列名,然后构造您的SQL查询。 使用纯SQL可能会变得棘手。

+0

DB2,Oracle,SQL Server,PostgreSQL,MySQL,Interbase,Paradox,MS Access甚至dBase都可以更简单地从表中获取所有列名,而无需为此编写任何类型的脚本。 – rsenna 2011-04-08 01:01:07

+0

谢谢Dave,ITroubs&rsenna!我只想知道,如果我们有可能创建vba类似脚本来删除SQL中的行。 – Beta 2011-04-08 15:45:17

+0

我不知道VBA,但如果它可能在PHP中,那么它也应该可以在VBA中使用。 – ITroubs 2011-04-08 16:12:00

7

根据您提供的信息很少:

DELETE FROM table WHERE colA IS NULL OR colB is NULL 

进一步添加条件,要检查每一列。

更改ORAND如果您只想删除所有列为NULL的行。

如果您不想手动输入它,使用user_tab_columns上的查询为此生成SQL相当容易。