问题标签 [coalesce]
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.
sql - 与 NULL 合并
我在一个视图中找到了这段 SQL 片段,我对它的目的感到很困惑(为简洁起见,实际的 SQL 被缩短了):
我想不出与 null 合并的目的的单一原因,而不仅仅是这样做:
或者至少不要明确包含 NULL :
我不知道这是谁创作的(所以我不能问),它是什么时候创作的,或者它是为哪个特定的 MS SQL Server 版本编写的(不过肯定是 2008 年之前的版本)。
是否有任何正当理由与 NULL 合并而不是直接选择列? 我忍不住笑了起来,把它写成一个菜鸟的错误,但这让我想知道是否有一些我不知道的“边缘案例”。
left-join - 从 teradata 中的两个不同表中获取最多两个日期 - 场景?
我有两个表 table1 和 table2。表 2 的行数少于表 1。在这两个表中,table1 中有两个日期列 caldate1,table2 中有两个日期列 caldate2。所以现在我需要加入这两个表并获得两个日期列的最大值并将其保存在新表中。但是,如果我们在这两个表上进行内部连接,则 table2 中不存在的 table1 行将不会进入最终表。所以我们需要一些类似的东西
但是有一种情况是两个日期都为空。那么我可以在以下情况下使用合并来获取正确的数据吗..
1. table1 中的行在 table2 中不存在 -> 那么 table1 中的 caldate1 应该进入决赛桌。
2. table1 中的行在 table2 中,table1 的 caldate1 和 table2 的 caldate2 为空 -> 然后 null 应该进入最终表的日期列
3. table1 中的行在 table2 中,caldate1 不为空,caldate2 为空 -> 然后 caldate1 应该进入最终表。
4. table1 中的行在 table2 中,caldate1 为空,caldate2 不为空-> 那么 caldate2 应该进入最终表
5. table1 中的行在 table2 中并且 caldate1 大于 caldate2 -> caldate1 应该进入最终表
6. table1 中的行在 table2 中并且 caldate2 大于 caldate1 -> caldate2 应该进入最终表
我们不需要考虑 table2 中与 table1 不匹配的行。所以基本上我需要所有 table1 行,如果两个表中都有特定的行,则最新的 caldate。提前致谢。我无法获得正确的功能来做到这一点。它合并了吗?
sql-server - 在 SQL 中使用值名称映射时如何避免 NULL
我有一个如下表,它基本上用于为表中的值“命名”(该表还包含一堆其他表的值,而不仅仅是 MYTABLE;我省略了一些不相关的字段来自 NAMEVALUEMAP):
我不想使用 JOIN,所以我想到了使用子查询。
问题是当 NAMEVALUEMAP 表中不存在值时,会显示 NULL。
而不是 NULL 我想显示来自 MYTABLE 的实际值(MYTABLE 将 ID 字段作为标识列并包含几行):
另外,有没有更好的方法来进行这种值到名称的映射?
oracle - Oracle 中的合并
如何在 oracle 中合并表,它的语法是什么?
c# - ?? 合并空字符串?
我发现自己做的越来越多的事情是检查字符串是否为空(如 in""
或 null)和条件运算符。
当前的示例:
这只是一个扩展方法,相当于:
因为它是空的而不是空的,??
所以不会成功。一个string.IsNullOrEmpty()
版本??
将是完美的解决方案。我认为必须有一种更清洁的方式来做到这一点(我希望!),但我一直不知所措。
有没有人知道更好的方法来做到这一点,即使它只在.Net 4.0 中?
sql - SQL查询以获取最近价格变化最大的产品
我正在使用 SQL Server 2005。
假设我有一个产品表和另一个价格表,以便我可以跟踪价格随时间的变化。我需要一个查询来获取不同的产品(简单部分)以及每个产品的最新价格和更改日期。
产品表:
价格变化表:
这是一个返回太多的查询:
回报:
我需要它返回的是:
这个查询有效,但它有两个嵌套选择,它会让世界各地的 DBA 哭泣:
有什么更好的方法来做到这一点?
sql-server - T-SQL:使用 CASE 和 COALESCE 将多列中的数据显示到一个输出列中
我有以下针对变更请求数据库运行的 SQL 代码。每条记录都有几列代表受影响的美国地区。如果更改影响某个区域,则该值将为 1,否则为 NULL。
所以我在每一列中添加值以确定是否有多个区域受到影响,答案将大于 1。
我需要有关如何更改我的 COALESCE 和/或 CASE 语句以在“Affected_Area”输出中列出所有值为 1 的受影响区域的帮助。
受影响地区最近 7 天
任何帮助表示赞赏!
汉克斯托林斯
sql - SQL 2008:为每种数据类型使用单独的表以返回单行
我想这次我会很灵活,让用户决定希望将哪些联系信息存储在他们的数据库中。从理论上讲,它看起来像一行,例如:姓名、地址、邮政编码、类别 X、列表项 A。
定义用户可用数据类型的示例
FieldType表:
用户在FieldDefinition表中定义他的字段:
最后,我们根据数据类型将实际联系人数据存储在单独的表中。主表,仅包含 ContactID
tbl联系方式:
tblContactStr50:
tblContactInt:
Question: Is it possible to return the content of these tables in two rows like this:
I have looked into using the COALESCE and Temp tables, wondering if this is at all possible. Even if it is: maybe I'm only adding complexity whilst sacrificing performance for benefit in datastorage and user definition option.
What do you think?
java - 如何获取Java中的第一个非空值?
是否有与 SQLCOALESCE
函数等效的 Java?也就是说,有没有办法返回几个变量的第一个非空值?
例如
我想以某种方式有一个语句,它将返回第一个非空值a
,b
和c
- 在这种情况下,它将返回b
, 或 4.4。(类似于 sql 方法 - return COALESCE(a,b,c)
)。我知道我可以通过以下方式明确地做到这一点:
但我想知道是否有任何内置的、被接受的功能来完成这个。
sql - 更改 SUM 返回 NULL 为零
我有一个存储过程如下:
我遇到的问题是该站点本月没有任何事件,因此当我运行此 proc 时,我为该站点返回了一个 NULL 值,但我需要返回一个零/0 才能在其中使用SSRS 中的图表。
我试过使用 coalesce 和 isnull 无济于事。
有没有办法让这个格式正确?
干杯,
李