问题标签 [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 投票
2 回答
581 浏览

sql - 如果没有找到行,SQL 语句为多列返回 Null 值

我有一个问题想出解决这个问题的方法。即,即使使用 WHERE 子句找不到该行,我也希望第二个 SELECT 语句返回空值。

我尝试了许多不同的解决方案,但没有任何效果(使用 IF、CTE 等)。你能帮忙吗?

其输出应该是一列(对于这个问题来说很简单)和包含 JSON 路径的第二列,看起来应该是这样的:

请注意,如果查询确实返回了某些内容,则它可能不止一行,并且所有这些都需要包含在输出 JSON 中。

0 投票
3 回答
5321 浏览

sql - 如何让 LAG() 在 SQL Server 中忽略 NULLS?

有谁知道如何用字符串替换列中的空值,直到它碰到一个新字符串然后该字符串替换它下面的所有空值?我有一个看起来像这样的列

原始专栏:

预期结果栏:

本质上,我希望列中的第一个字符串替换它下面的所有空值,直到下一个字符串。然后该字符串将替换它下面的所有空值,直到下一个字符串,依此类推。

0 投票
1 回答
58 浏览

sql - 传递NULL参数时通过表函数返回所有记录

上面的函数从与提供的@roleid 参数匹配的actions_roles 表中返回一个操作列表。但是,actions 表中的某些操作在 action_roles 表中根本不存在。因此,当指定 NULL 参数时,我希望函数简单地返回

select * from actions

我尝试使用 if 语句,但这似乎不适用于内联表函数。

实现这一目标的最佳方法是什么?

0 投票
1 回答
71 浏览

sql - 在 SQL Server 中评估“value1 IS NOT DISTINCT FROM value2”的最佳方法

SQL Server 是否有与 Ansi SQL 运算符等效的运算符:IS DISTINCT FROM / IS NOT DISTINCT FROM?

我知道我可以替换:

和 :

或者 :

但是这些选项会阻止引擎使用索引,那么 SQL Server 是否有特定的运算符来检查这种比较?

谢谢你。

0 投票
1 回答
33 浏览

mysql - 用MYSQL在两列之间选择最小值

您好,我正在尝试使用 MySQL 选择 3 列之间的最小值。

我面临的问题是,在列中我可能NULL有价值。我怎样才能得到不是的最小价值NULL

跑步select least(1, 3, NULL)会回来NULL,但我想有1一个答案。

谢谢您的帮助。

0 投票
3 回答
902 浏览

sql - SQL 中两个 SELECT 语句的减法(redshift)

有人可以解释为什么以下不起作用吗?

Count(*) 将为我提供表中的所有行,而 Count(Metric) 将为我提供 Metric 列中的非空值。因此,它们之间的差异将为我提供度量列中空值的数量,并且我已将此列标记为 X。我只想要列 X 中两者之间的差异,但不确定为什么它不起作用。

顺便说一句,我知道我可以通过以下方式让它工作:

0 投票
2 回答
73 浏览

sql - 是否与空值定义的行为进行比较?

在最近的一次代码审查中,我被要求更改

这些是否有可能产生不同的结果?据我所知,如果 Amount 为 null 或 0,它们都将返回 false,在任何其他情况下返回 true

为了提供更多详细信息,我想获取一个表中的所有行,只要它们在第二个表中没有对应的行且数量 > 0

0 投票
2 回答
64 浏览

mysql - sql:选择空值的问题

学生表:

询问:

预期输出:

通过我的测试,结果是空的,我该如何解决这个问题?

屏幕

0 投票
2 回答
204 浏览

sql-server - ansi_nulls:一些检查它的方法似乎不起作用

文档指出,数据库 ANSI_NULLS 标志控制在某些方面与 null 进行比较的行为。

我正在检查此堆栈溢出帖子以检查如何确定(未设置)此标志的值。有趣的是,并非所有答案似乎都对我有用。

我的测试查询:

返回的输出是两个空结果集。由此,我可以从逻辑上推断出数据库中的 ANSI_NULLS 为 ON。

现在,检查选项:

1

select databasepropertyex('MyDatabaseName', 'IsAnsiNullsEnabled')

返回 0。我没想到会这样。

2

打印“ANSI_NULLS”。预期的。

3

SELECT is_ansi_nulls_on FROM sys.databases WHERE name = 'MyDatabaseName'

返回 0。我没想到会这样。

4

dbcc useroptions

结果集包括 [Set Option]='ansi_nulls' 和 [Value]='Set' 的行。预期的。


为什么选项 1 和 3 会给我这个结果?

我的@@version 是:

0 投票
3 回答
190 浏览

sql - 当您的数据在列中为空时,Big Query 过滤器出现问题

从今天开始,我在 Google Big Query 中遇到了一个奇怪的问题。以下查询不返回任何记录。昨天没看到这个问题

理想情况下,它应该显示 XC = XC1 的记录,但它不返回任何记录。

你们都面临同样的问题吗?当我们在其他领域面临更大的问题时,请尽快通知我们。

你能建议这里发生了什么吗?