问题标签 [nvl]

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 回答
1049 浏览

sql - NVL 可以返回不同的数据类型作为其参数吗?

在以下查询中,

select NVL(gender, 'not available') from member

当性别为空时,我希望查询返回“不可用”。但似乎第二个参数必须与第一个参数的数据类型相同。(在这个例子中,性别是 CHAR(1),但第二个参数是 VARCHAR 或 CHAR(n) 而不是 CHAR(1)。除了更改主表中的数据类型?我正在使用 Amazon Redshift。我也在 group by 中使用 nvl 语句,因此我需要尽可能简洁的解决方案。

0 投票
1 回答
117 浏览

oracle - Oracle 优化:哪个执行计划更好?

我必须改进这个查询:

我以这种方式修改了 WHERE 条件:

此链接中,您可以阅读这两个查询的执行计划。哪一个更好?有什么改进查询的建议吗?我需要有结果的所有记录

编辑:其中“F4211”表有 71,758 条记录,F42119 有 4,606,154 条记录

编辑: F0101 表有 634,187 条记录。当所有参数设置为 NULL 时,结果是在不合理的时间(几分钟)内有 4,677,925 条记录。没有 where 子句的查询在 58 秒内需要 4,677,925 条记录

编辑:插入代码片段我超过了最大字符数:(对发布执行计划有什么建议吗?

编辑:这是执行计划:

0 投票
2 回答
2050 浏览

sql - 在 listagg SQL Oracle 中使用 nvl

在 listagg 中使用 nvl 调用时遇到问题。

我是 SQL 新手,所以我仍然对语法有疑问..

错误:ORA-00923:在预期的地方找不到 FROM 关键字

0 投票
3 回答
61 浏览

sql - 如何捕获空值并显示注释

我有基本查询:

更新

基本上,在上传期间我正在检查是否:new在里面table1.colx。如果是,我想显示col1,如果不是null值(我不能放零)。

0 投票
1 回答
7949 浏览

oracle - CASE 语句和 NVL 在 Oracle11G 中提供不同的输出

我有一个只有数字和空格的字符串。
我正在使用 CASE 和 NVL 函数来获取输出。
如果字符串为 NULL,则使用相同的字符串值,否则使用 1。
我可以对 SQL 和 PLSQL 进行不同的行为。
谁能提供一些关于这种行为的解释,哪一种是最好的方法。

SQL中

NVL 功能可以在没有 TRIM 的情况下工作并提供结果

CASE 给出 ORA-00932 错误

PLSQL中

NVL 为结果提供空间

案例陈述 TRIMs 结果

0 投票
1 回答
65 浏览

sql - 为什么一个查询比其他查询返回更多

您能否使用以下问题向我解释这两个 SQL 之间的区别以及为什么它们没有相同的结果?

显示其薪水和佣金与位置 ID1700 中任何员工的薪水和佣金相匹配的任何员工的姓氏、部门名称和薪水。

(0 个输出)

(36 个输出)

0 投票
2 回答
2777 浏览

sql - NVL、SUBSTR 和 RPAD 语法

我正在尝试通过选择如下值来创建一个固定宽度的文件:

以上工作正常。但是,我还需要考虑这样一个事实,即地址要么在我上面的字段中解析(p.house、p.street、p.streettype ...),要么在 ADDRESS1 和 ADDRESS2 中找到。但是 ADDRESS 2 包含城市状态和 zip,需要对其进行解析。

我可以通过使用 NVL 来做到这一点吗?我觉得如果我使用 NVL 和 SUBSTR 输出我需要的值,它可以工作。但我不确定语法。

ADDRESS1 和 ADDRESS2 中的数据分别如下所示:

0 投票
1 回答
298 浏览

sql - NVL (EXPR1,0) 与 NVL(EXPR1,-1)

上面抛出一个错误

原因:java.sql.SQLException:ORA-06502:PL/SQL:数字或值错误:字符到数字的转换错误 ORA-30926:无法在源表中获得一组稳定的行

但是当你用下面的 NVL(EXPR, -1) 替换上面的查询时,它可以正常工作。有什么理由可以预见我看不到?

0 投票
0 回答
211 浏览

oracle - oracle nvl,具有存储功能的 nvl2 无法按预期工作

使用存储的函数调用 NVL 和 NVL2 函数。即使不从该函数返回值,也会调用函数。请看下面的例子。

因此,虽然 NVL 和 NVL2 函数返回了正确的值,但函数也被调用。

此逻辑在许多地方使用,并导致对函数的额外调用导致性能下降。任何帮助表示赞赏。

Oracle 版本是 Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

0 投票
0 回答
375 浏览

sql - COALESCE() 和 NVL() 有什么区别?

根据我的实践,这两个功能都提供具有相同功能的相同输出..!

从对偶中选择 COALESCE(null,1);输出:1

从对偶中选择 NVL(null,1);输出:1