标签: coalesce

NVL与Coalesce之间的Oracle差异

Oracle中的NVL和Coalesce之间是否存在明显差异?

明显的区别在于coalesce将返回其参数列表中的第一个非null项,而nvl仅接受两个参数,如果不为null则返回第一个,否则返回第二个.

似乎NVL可能只是一个'基础案例'版本的合并.

我错过了什么吗?

sql oracle coalesce nvl

196
推荐指数
7
解决办法
19万
查看次数

?? 合并空字符串?

我发现自己做的越来越多的事情是检查字符串是否为空(如in ""或null)和条件运算符.

一个当前的例子:

s.SiteNumber.IsNullOrEmpty() ? "No Number" : s.SiteNumber;
Run Code Online (Sandbox Code Playgroud)

这只是一种扩展方法,它相当于:

string.IsNullOrEmpty(s.SiteNumber) ? "No Number" : s.SiteNumber;
Run Code Online (Sandbox Code Playgroud)

因为它是空的而不是null,所以??不会这样做.一个string.IsNullOrEmpty()版本??将是完美的解决方案.我认为必须有一个更清洁的方式来做这件事(我希望!),但我一直在找不到它.

有没有人知道更好的方法来做到这一点,即使它只在.Net 4.0中?

c# string coalesce null-coalescing-operator

154
推荐指数
7
解决办法
6万
查看次数

检查"空值或空值"的最佳方法

在Postgres sql语句中检查value是null还是空字符串的最佳方法是什么?

值可以是长表达式,因此最好只检查一次.

目前我正在使用:

coalesce( trim(stringexpression),'')=''
Run Code Online (Sandbox Code Playgroud)

但它看起来有点难看.

stringexpression可以是char(n)包含char(n)具有尾随空格的列的列或表达式.

最好的方法是什么?

sql database postgresql null coalesce

149
推荐指数
5
解决办法
18万
查看次数

如何在Java中获取第一个非null值?

是否有Java等效的SQL COALESCE函数?也就是说,有没有办法返回几个变量的第一个非空值?

例如

Double a = null;
Double b = 4.4;
Double c = null;
Run Code Online (Sandbox Code Playgroud)

我想无论如何都将返回的第一个非NULL值的语句a,b以及c-在这种情况下,它会返回b,或4.4.(类似于sql方法 - 返回COALESCE(a,b,c)).我知道我可以用以下方式明确地做到:

return a != null ? a : (b != null ? b : c)
Run Code Online (Sandbox Code Playgroud)

但我想知道是否有任何内置的,可接受的功能来实现这一目标.

java coalesce

143
推荐指数
10
解决办法
8万
查看次数

如何在Postgres SELECT中连接列?

我有两个字符串列ab一个表foo.

select a, b from foo返回值ab.但是,串联ab不起作用.我试过了 :

select a || b from foo
Run Code Online (Sandbox Code Playgroud)

select  a||', '||b from foo
Run Code Online (Sandbox Code Playgroud)

从评论更新:两列都是类型character(2).

sql postgresql types concatenation coalesce

133
推荐指数
5
解决办法
23万
查看次数

使用ISNULL vs使用COALESCE检查特定条件?

我知道可以传递多个参数COALESCE,但是当你想只检查一个表达式以查看它是否存在时,你是使用默认值还是使用它更好的做法ISNULL

这两者之间是否有任何性能提升?

sql t-sql coalesce isnull

71
推荐指数
6
解决办法
5万
查看次数

使用COALESCE处理PostgreSQL中的NULL值

我有以下查询

SELECT  DISTINCT 
     pt.incentive_marketing, 
     pt.incentive_channel, 
     pt.incentive_advertising 
FROM test.pricing pt 
WHERE pt.contract_id = 90000 
group by 1,2,3 
order by pt.incentive_marketing;
Run Code Online (Sandbox Code Playgroud)

上面的查询返回o/p,如附图所示 在此输入图像描述

但是我想使用COALESCE将所有空值替换为0 请让我知道如何在上面的SELECT查询中实现这一点

现在我使用coalesce进一步修改了查询,如下所示

SELECT  
     COALESCE( pt.incentive_marketing, '0' ), 
     COALESCE(pt.incentive_channel,'0'), 
     COALESCE( pt.incentive_advertising,'0') 
FROM test.pricing pt 
WHERE pt.contract_id = 90000 
group by 1,2,3 
Run Code Online (Sandbox Code Playgroud)

其结果如图2所示.

我仍然收到一行空白值

sql database postgresql null coalesce

54
推荐指数
2
解决办法
11万
查看次数

如何为空字符串和NULL值COALESCE?

我正在尝试创建最快的COALESCE()接受两个或多个参数,并返回第一个非null AND非空("")值.

我正在使用这个:

CREATE OR REPLACE FUNCTION coalescenonempty(VARIADIC in_ordered_actual varchar[])
RETURNS varchar AS $$
  SELECT i
  FROM (SELECT unnest($1) AS i) t
  WHERE i IS NOT NULL AND i <> ''
  LIMIT 1;
$$ LANGUAGE sql;
Run Code Online (Sandbox Code Playgroud)

它非常快,但仍然没有COALESCE或CASE WHEN语句那么快.

你怎么看?

sql postgresql coalesce

46
推荐指数
1
解决办法
3万
查看次数

?? Null Coalescing Operator - >合并是什么意思?

我很想撒谎并说英语是我的第二语言,但事实是我只是不知道'合并'是什么意思.我知道??C#中的"做什么",但这个名字对我来说没有意义.

我查了一下这个词,我理解它是'join'的同义词.'Null Join Operator'仍然没有意义.

有人可以开导我吗?

c# terminology coalesce null-coalescing-operator

44
推荐指数
4
解决办法
4472
查看次数

Excel中是否有类似合并的功能?

我需要用同一行中的一组列(从左到右)填充第一个非空条目的单元格 - 类似于SQL中的coalesce().

在以下示例表中

---------------------------------------
|     |  A   |   B   |   C   |    D   |
---------------------------------------
|  1  |      |   x   |   y   |    z   |
---------------------------------------
|  2  |      |       |   y   |        |
---------------------------------------
|  3  |      |       |       |    z   |
---------------------------------------
Run Code Online (Sandbox Code Playgroud)

我想在A行的每个单元格中放置一个单元格函数,以便我得到:

---------------------------------------
|     |  A   |   B   |   C   |    D   |
---------------------------------------
|  1  |  x   |   x   |   y   |    z   |
---------------------------------------
|  2  |  y   |       |   y   |        |
--------------------------------------- …
Run Code Online (Sandbox Code Playgroud)

sql excel xls coalesce

43
推荐指数
5
解决办法
5万
查看次数