如何解决“选择每列中没有空值或空白值的行”?

时间:2019-04-08 08:59:44

标签: mysql sql mysql-workbench

我在此处无法使用此代码:

select *
from toadd
where pcode = '' or pcode is null or
      brand = '' or brand is null or
      description = '' or description is null;

我试图返回上面的列中没有空值或空值的值。

我的问题是:我已将查询编码为仅返回仅为null或空值的值,以查看其是否真正起作用,然后根据该查询使用delete语句。

但是它仍然返回带有填充数据的列,即使我已经说过不显示查询中填充的任何值。

不确定为什么要这么做吗?

我所有的列类型都设置为VARCHAR,我将数据与文本和数字混合在一起。

这是我的桌子布局:

Table: outerb
Columns:
id int(11) AI PK 
pcode varchar(255) 
brand varchar(255) 
description varchar(255) 
size varchar(255) 
barcode varchar(255)

这是目前的样子

enter image description here

这是我的预期结果:

enter image description here

3 个答案:

答案 0 :(得分:1)

将外部 public List<Dictionary<string, dynamic>> child { get; set; } 条件更改为public void doPrint() { String toPrint = writeArea.getText(); printSetup(writeArea, Main.primaryStage); } private final Label jobStatus = new Label(); private void printSetup(Node node, Stage owner) { // Create the PrinterJob PrinterJob job = PrinterJob.createPrinterJob(); if (job == null) { return; } // Show the print setup dialog boolean proceed = job.showPrintDialog(owner); if (proceed) { print(job, node); } } private void print(PrinterJob job, Node node) { // Set the Job Status Message jobStatus.textProperty().bind(job.jobStatusProperty().asString()); // Print the node boolean printed = job.printPage(node); if (printed) { job.endJob(); } }

or

答案 1 :(得分:0)

如果您想要所有测试列都不为空或不为空的行

select * 
from toadd 
where !(pcode = '' or pcode is null) AND
      !(brand = '' or brand is null) AND
      !(description = '' or description is null);

如果要排除其中一个或多个列为空或为空的行

select * 
from toadd 
where !(pcode = '' or pcode is null) OR
      !(brand = '' or brand is null) OR
      !(description = '' or description is null);

答案 2 :(得分:0)

您可以使用以下SQL查询获得所需的结果

SELECT * FROM `outerb ` 
WHERE Length(`pcode `) > 0 
AND Length(`brand `) >0 
AND Length(`description `) > 0