问题标签 [sql-null]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
634 浏览

sql - 如果列为 NULL 或为空字符串,则 Postgresql 连接列并跳过列

我正在尝试连接多个列,如果 postgres 中的列为 NULL 或为空,则跳过该列。例如:

输出 :a|b||||c

预期输出:a|b|c

0 投票
0 回答
15 浏览

mariadb - 没有宽度变化的数据截断警告

BINARY(2) DEFAULT NULL在 MariaDB InnoDB 表中有一个列来存储国家代码,但我想删除可空性(该值始终设置),所以我尝试运行以下查询:

但是,我有以下错误:

没有值超过 2 个字符的行,检查

返回 2。

在这种情况下,数据截断的可能原因是什么,以及如何解决?

0 投票
1 回答
36 浏览

sql - 不相等的地方

我有以下 SQL 语句:

s.conclusion对于此示例, 的值为 null。

问题

当我希望它返回一行时,此查询不返回任何行,因为s.conclusionis not DISCONTINUED

问题

如何执行 WHERE 子句以返回所有没有值的行DISCONTINUED

0 投票
1 回答
32 浏览

sql - 如何仅显示列中的值并忽略 Access 查询中的空白单元格?

我有一个具有主键的列,然后是一个在其中一些具有值的列。如何让查询仅显示这些列中的值?

我尝试了以下方法并不断收到错误:

SELECT [Case Level Report].[Charge Level] WHERE not [Case Level Report].[Charge Level] is null FROM [Case Level Report];

我也试过: SELECT [Case Level Report].[Charge Level] WHERE is not null <> '' FROM [Case Level Report];

SELECT [Case Level Report].[Charge Level] WHERE is not null FROM [Case Level Report];

我迷路了,现在无法弄清楚。

0 投票
2 回答
120 浏览

sql - 选择性过滤列值不为空的行 PostgreSQL

我在 Postgres 11.0 中有下表。

对于相同的 col1 值,我只想保留 col5 不为空的那些行。并丢弃另一行。

期望的输出是:

我不确定如何实现这一目标。非常感谢任何帮助。

0 投票
1 回答
24 浏览

sqlite - 具有值的 SQLite ORDER BY 列

我有一个有四列的表,其中可能有空值。我想对表进行排序,以使空列数量最少的行首先出现,然后出现空值较多的行。我并不真正关心其他值,它们是如何排序的。只是所有具有两个空值的行都在具有三个空值的行之前,等等。例如:

我尝试了各种方法,但似乎都没有奏效。例如,我只是使用所有四列进行排序:

那没有用,所以我想也许如果我将所有空值都视为 0,而所有非空值都为 1,它会起作用:

然后我尝试根据每行的总和进行排序:

但很可惜,它没有正确排序。也许我在语法上犯了一个错误……或者也许有不同的解决方案?

0 投票
1 回答
29 浏览

mysql - 当 JOIN 返回一行时使用 ValueA,否则使用 ValueB(如默认值)

我的数据库中有四个用于表单构建器的表。

  • fields( fieldID(PK), typeID, fieldName, ...) - 此表是表单中所有字段的逐行列表
  • fields_types( typeID(PK), htmlType, ...) - 这是一个将字段链接到 html 类型(和其他设置)的表格
  • fields_meta( FieldMetaID(PK), FieldID, mName, mValue) - 字段的附加设置,但更具体。一个 textarea 字段可能有一个 height 属性,但几乎没有其他字段会使用它。
  • fields_tyeps_meta( TypeMetaID(PK), typeID, tmName, tmValue) - 定义字段可以具有哪些无关设置,如果未明确设置,还提供默认值)

所以我的查询目前看起来像这样

我想知道是否有一种方法可以加入Fields_Types_Meta,以便当该行的JOINtoFields_Meta不返回一行(否mValue)时,它返回tmValue

我意识到我可以使用类似的东西(CASE WHEN mValue = "" THEN tmValue ELSE mValue END) AS UseValue,但我可能有一些字段我想允许将值设置为空。


编辑:我可能可以用子查询做一些事情,并且COUNT使用CASE基于它的决定。它可能不是最健康的性能,但是这个查询运行并缓存自己直到服务器重新启动,或者直到它被告知再次运行(更新表单设计)

0 投票
1 回答
30 浏览

sql - 如果有另一行相同但没有“NULL”值,如何过滤掉“NULL”值行?

从图片中可以看出。第 5 行和第 6 行在其他方面相同,但第 5 行具有“NULL”值。所以我想过滤掉第 5 行,但留下第 6 行。

然后还有单行具有“NULL”值,但我也想保留这些。那么我该怎么做呢?如何保留具有“NULL”值的单个/唯一行并同时过滤掉具有相同对应项但对应项具有“NULL”值的行?

我尝试使用 coalesce group by -function,但还没有得到想要的结果。

在此处输入图像描述

0 投票
2 回答
30 浏览

mysql - mysql。如何组合或匹配两个表中的特定行

首先,标题不是很清楚。通过这个示例,我想知道是否有使用 SQL 代码的解决方案,或者是否必须使用 C#、Java、PHP 等在另一端工作。

原理是这样的:

  1. 有一个Inputs表,如下所示:
  1. 还有一个输出表:
  1. 我想要得到的是根据每个匹配列减去数量,希望得到以下结果:

可以直接用SQL完成吗?

0 投票
1 回答
152 浏览

sql - 使用空处理求和时间戳差异的 SQL 查询

我有一个(Oracle)DB 表,其中包含 2 列 t1 和 t2 都具有数据类型时间戳。t2 列可以为空。我需要一个 SQL 查询来给我类似下面的伪代码。