问题标签 [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.
mysql - 如何在mysql中找到最后一次出现空/特殊字符的时间戳?
我目前定期运行此操作以在几列上预处理空字符串和“-1”为空。有什么方法可以找出最后一行经历了 nullif 操作或有 '' 或 -1 以便我可以从那时起处理所有内容。我的表有一个时间戳列。我有 150 列,例如 recovery_email,我想从在其中任何一个中找到的最后一个空字符串开始。或者在 sql 表中插入这些记录时我做了什么?
postgresql - 如果为空,则返回替代值?
您好我正在使用postgres 12。我已经学习了几天了。
我想知道是否可以写入 CREATE TABLE 阶段:IF column_x is NULL, return 'alternative value'
?
这是我当前的表:
因此,在这种情况下,我希望“about”和“website_link”中的任何空条目都说“即将推出”,而所有社交媒体空条目都只说“无”。我想我的 UNIQUE 约束不允许这样做?(我让他们避免条目重复,以防“entry_name”与变体一起提交)。
谢谢你的帮助。
sql - 需要返回空值而不是除以零
我必须将旧查询更改为新查询才能获得正确的结果。我的旧查询曾经在分母中返回空值,所以我不必担心除以零,新查询返回除我的零作为“M”(R_NTWK_CHNNL),但对于“S”或 R,我不'没有零分母。我该怎么做才能在查询 2 中获得空分母?表定义没有改变,并且想知道为什么现在当“M”中没有任何内容时我没有得到空分母。还请,我将如何添加nullif
到查询2?非常感谢你。
旧查询
新查询
php - 如何在 php 表单的查询中使用 nullif()
我尝试在 PostgreSQL 13 和 php 表单(初学者)的表中导入 csv 文件。
表中有两种外键整数类型,一种可以为空。因此,当我导入文件时,我有invalid input syntax for type integer
其中一个的共同消息。
在这篇文章之后,NullIf() 函数似乎是一个简单的解决方案。
我找不到正确的方法来使用它:
外键是最后一个变量。
- 我试图用 NULL 替换第二个参数;
- 我试过
'NULLIF("...")'
和其他一些错误的组合。
如何解决?谢谢。
variables - 在带有 Nullif 的表达式中使用变量失败
我正在使用下面的代码将空字符串转换为 Null。我没有收到错误,但它仍然是一个空字符串。
我怀疑变量col_name
的使用不正确expr
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')
提前致谢。
sql - 在 SQLite 中,如何查询两个表中更改的值,并将匹配的值设为 NULL
如果我在两个不同的表中有两行,例如:
表名 - 旧
ID | 标题 | 意见 |
---|---|---|
wx | 如何清洁钻头 | 30 |
np | 最疯狂的失败 | 400 |
佐 | 饮食挑战 | 8 |
如果 | JavaScript 教程 | 0 |
表名 - 新建
ID | 标题 | 意见 |
---|---|---|
wx | 如何清洁钻头 | 30 |
np | 最疯狂的失败 | 450 |
佐 | 这是一个错误 | 8 |
如果 | 学习 JavaScript | 20 |
两个表的区别如下:
- 第 1 行 (id=wx):
title
并views
没有改变。 - 第 2 行 (id=np):
views
增加了,而title
是相同的。 - 第 3 行 (id=zo):
title
已经改变,而views
是相同的。 - 第 4 行 (id=lf):两者
title
都views
发生了变化。
期望的结果
我想要一个返回Table Name - New的查询,但任何未从Table Name - Old更改的值都应该是null
,而不是id
. 如果整行没有更改,则不应返回该行。
id
是恒定的,不会改变。
查询结果
ID | 标题 | 意见 |
---|---|---|
np | null |
450 |
佐 | 这是一个错误 | null |
如果 | 学习 JavaScript | 20 |
我得到的最接近的是
SELECT * FROM new EXCEPT SELECT * FROM old;
但这并没有null
排除不变的值。
将不胜感激任何帮助。
sql - 如何将 COALESCE 中的值与 NULL 值相加
我想知道是否可以对合并中使用的值求和,即使其中一些为空。目前,如果来自 coalesce 的任何值返回 null,则总和的结果也为 null。
这是一个基本案例的 SQL 小提琴: http ://sqlfiddle.com/#!17/9eecb/83134
前面的查询应该返回 5 作为 item_sum (3 + 2)。但是,两个表中的最后一列 item_c 均为空,因此结果为 NULL 而不是 5。
谢谢
sql - Postgres SQL:如何在不添加新列的情况下替换列中的值?
我只想用 '' 替换特定列中的 '' 或 '0.00' 值,而不添加新列。我试图做如下但它不工作。
数据库列:
预期结果:
根据对话,以下是我的预期结果。
我的条件:如果 rt1 为 0.00 或 '',则 '' 否则 rt1。r2 相同,然后创建新列。
sql - 使用 Nullif 作为条件的一部分
我目前的情况是,我们有一个笨重、陈旧、庞大的数据库,为我们的一两个用户不太友好的系统提供动力(这是由第三方控制的,所以我无法更改)。
展望未来,我希望将必要的数据推送到一个新的(结构更好的)数据库中,并实施一种机制来保持两者之间的数据同步。
这个旧数据库的一个古怪特征是,它不仅使用空值,还使用空字符串并将它们视为空值。
在新数据库中,我想在没有数据的地方使用空值(因为我想不出任何不这样做的充分理由)。
我的问题是,当我将数据从旧数据库提取到新数据库(使用MERGE
语句)时,我使用 aNULLIF([myCol], '')
来检查实际上是否有任何数据 - 如果没有,则将其视为 null。
例如,在为学生同步数据时,我打算按照以下方式做一些事情(数据库和模式的名称与问题无关,所以我将结构匿名化一点):
现在,显然这个当前查询只处理以下场景:
旧数据库有数据,新数据库没有
因为我对以下场景的逻辑感到有些悲伤:
新数据库有相应的记录,但需要更新。
对于基于文本的字段,有 3 种不同的场景需要更新“新”数据:
- 两个值都不是空/空,但它们不相等
- “旧”数据库中的记录为空/空,而“新”数据库中的记录不是
- “新”数据库中的记录为空,而“旧”数据库中的记录不是
我希望做一些相对简单的事情,比如:
但是,NULLIF(TRIM([s].[STUD_Surname]), '') IS NOT NULL
显然是无效的?
我最好的选择是在子句中换掉NULLIF
for an ...还是我错过了一些可以提高效率的东西?ISNULL
WHEN MATCHED