问题标签 [nullif]

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 投票
0 回答
27 浏览

mysql - 如何在mysql中找到最后一次出现空/特殊字符的时间戳?

我目前定期运行此操作以在几列上预处理空字符串和“-1”为空。有什么方法可以找出最后一行经历了 nullif 操作或有 '' 或 -1 以便我可以从那时起处理所有内容。我的表有一个时间戳列。我有 150 列,例如 recovery_email,我想从在其中任何一个中找到的最后一个空字符串开始。或者在 sql 表中插入这些记录时我做了什么?

0 投票
1 回答
218 浏览

postgresql - 如果为空,则返回替代值?

您好我正在使用postgres 12。我已经学习了几天了。

我想知道是否可以写入 CREATE TABLE 阶段:IF column_x is NULL, return 'alternative value'

这是我当前的表:

因此,在这种情况下,我希望“about”和“website_link”中的任何空条目都说“即将推出”,而所有社交媒体空条目都只说“无”。我想我的 UNIQUE 约束不允许这样做?(我让他们避免条目重复,以防“entry_name”与变体一起提交)。

谢谢你的帮助。

0 投票
1 回答
24 浏览

sql - 需要返回空值而不是除以零

我必须将旧查询更改为新查询才能获得正确的结果。我的旧查询曾经在分母中返回空值,所以我不必担心除以零,新查询返回除我的零作为“M”(R_NTWK_CHNNL),但对于“S”或 R,我不'没有零分母。我该怎么做才能在查询 2 中获得空分母?表定义没有改变,并且想知道为什么现在当“M”中没有任何内容时我没有得到空分母。还请,我将如何添加nullif到查询2?非常感谢你。

旧查询

新查询

0 投票
1 回答
182 浏览

php - 如何在 php 表单的查询中使用 nullif()

我尝试在 PostgreSQL 13 和 php 表单(初学者)的表中导入 csv 文件。
表中有两种外键整数类型,一种可以为空。因此,当我导入文件时,我有invalid input syntax for type integer其中一个的共同消息。
这篇文章之后,NullIf() 函数似乎是一个简单的解决方案。

我找不到正确的方法来使用它:

外键是最后一个变量。

  • 我试图用 NULL 替换第二个参数;
  • 我试过'NULLIF("...")'和其他一些错误的组合。

如何解决?谢谢。

0 投票
1 回答
35 浏览

variables - 在带有 Nullif 的表达式中使用变量失败

我正在使用下面的代码将空字符串转换为 Null。我没有收到错误,但它仍然是一个空字符串。
我怀疑变量col_name的使用不正确expr

0 投票
2 回答
114 浏览

mysql - 在没有CASE的SQL中嵌套NULLIF(将列的值分配给null if(条件A)或(条件B))

我有一列 C1 的值可以是“值”或“空”或“N/A”。

我想以一种使用 NULLIF 将空值和 N/A 转换为 NULL 的方式选择列 C1。

NULLIF(C1, '')如果列值为空,我们可以这样做给出 NULL。

我们也可以使用 CASE 并以这种方式实现这两种情况,但我想知道是否有一种方法可以使用 NULLIF ,如果有,怎么做?(或CASE以外的任何方式)

就像是NULLIF(C1, '' OR 'N/A')

提前致谢。

0 投票
2 回答
46 浏览

sql - 在 SQLite 中,如何查询两个表中更改的值,并将匹配的值设为 NULL

如果我在两个不同的表中有两行,例如:

表名 - 旧

ID 标题 意见
wx 如何清洁钻头 30
np 最疯狂的失败 400
饮食挑战 8
如果 JavaScript 教程 0

表名 - 新建

ID 标题 意见
wx 如何清洁钻头 30
np 最疯狂的失败 450
这是一个错误 8
如果 学习 JavaScript 20

两个表的区别如下:

  • 第 1 行 (id=wx):titleviews没有改变。
  • 第 2 行 (id=np):views增加了,而title是相同的。
  • 第 3 行 (id=zo):title已经改变,而views是相同的。
  • 第 4 行 (id=lf):两者titleviews发生了变化。

期望的结果

我想要一个返回Table Name - New的查询,但任何未从Table Name - Old更改的值都应该是null,而不是id. 如果整行没有更改,则不应返回该行。

id是恒定的,不会改变。

查询结果

ID 标题 意见
np null 450
这是一个错误 null
如果 学习 JavaScript 20

我得到的最接近的是

SELECT * FROM new EXCEPT SELECT * FROM old;

但这并没有null排除不变的值。

将不胜感激任何帮助。

0 投票
1 回答
64 浏览

sql - 如何将 COALESCE 中的值与 NULL 值相加

我想知道是否可以对合并中使用的值求和,即使其中一些为空。目前,如果来自 coalesce 的任何值返回 null,则总和的结果也为 null。

这是一个基本案例的 SQL 小提琴: http ://sqlfiddle.com/#!17/9eecb/83134

前面的查询应该返回 5 作为 item_sum (3 + 2)。但是,两个表中的最后一列 item_c 均为空,因此结果为 NULL 而不是 5。

谢谢

0 投票
1 回答
61 浏览

sql - Postgres SQL:如何在不添加新列的情况下替换列中的值?

我只想用 '' 替换特定列中的 '' 或 '0.00' 值,而不添加新列。我试图做如下但它不工作。

数据库列:

预期结果:

根据对话,以下是我的预期结果。

我的条件:如果 rt1 为 0.00 或 '',则 '' 否则 rt1。r2 相同,然后创建新列。

0 投票
3 回答
55 浏览

sql - 使用 Nullif 作为条件的一部分

我目前的情况是,我们有一个笨重、陈旧、庞大的数据库,为我们的一两个用户不太友好的系统提供动力(这是由第三方控制的,所以我无法更改)。

展望未来,我希望将必要的数据推送到一个新的(结构更好的)数据库中,并实施一种机制来保持两者之间的数据同步。

这个旧数据库的一个古怪特征是,它不仅使用空值,还使用空字符串并将它们视为空值。

在新数据库中,我想在没有数据的地方使用空值(因为我想不出任何不这样做的充分理由)。

我的问题是,当我将数据从旧数据库提取到新数据库(使用MERGE语句)时,我使用 aNULLIF([myCol], '')来检查实际上是否有任何数据 - 如果没有,则将其视为 null。

例如,在为学生同步数据时,我打算按照以下方式做一些事情(数据库和模式的名称与问题无关,所以我将结构匿名化一点):

现在,显然这个当前查询只处理以下场景:

旧数据库有数据,新数据库没有

因为我对以下场景的逻辑感到有些悲伤:

新数据库有相应的记录,但需要更新。

对于基于文本的字段,有 3 种不同的场景需要更新“新”数据:

  1. 两个值都不是空/空,但它们不相等
  2. “旧”数据库中的记录为空/空,而“新”数据库中的记录不是
  3. “新”数据库中的记录为空,而“旧”数据库中的记录不是

我希望做一些相对简单的事情,比如:

但是,NULLIF(TRIM([s].[STUD_Surname]), '') IS NOT NULL显然是无效的?

我最好的选择是在子句中换掉NULLIFfor an ...还是我错过了一些可以提高效率的东西?ISNULLWHEN MATCHED