验证SQL查询中的列/字段时如何忽略空值或空字段

时间:2014-08-21 16:20:42

标签: sql

我想在将字段插入表格之前验证字段。验证工作正常但如果值为null则表示它无效且不插入。如何忽略空值? 非常感谢帮助

INSERT INTO XYZ

SELECT colA, colB, colC
FROM tableDEF w
WHERE
 ( (SUBSTRING(w.colA,1,1)='5' OR SUBSTRING(w.colA,1,1)='1' ) AND LEN(w.colA)=9 )

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题,你可以使用类似的东西:

Where
   ... 
   and colA is not Null 
   and colB is not Null
   and colC is not Null

或者,根据您的需要,将您的空值更改为“N / A”。使用NVL(...)

Nvl(ColA, 'N/A') as colA,
Nvl(ColB, 'N/A') as colB,
Nvl(ColC, 'N/A') as colC

这会将字段显示为列中的内容或字符串' N / A'。

这两个解决方案都适用于Oracle,如果它适用于另一种SQL,我可以更新解决方案。