Oracle 中参数中具有空值的结果

     2023-05-09     190

关键词:

【中文标题】Oracle 中参数中具有空值的结果【英文标题】:Results with empty values in parameter in Oracle 【发布时间】:2019-04-19 06:08:41 【问题描述】:

我正在为往返日期创建一个参数。记录中的某些日期缺失,这意味着存在空值。当我的参数在两个值之间搜索时,它会避免那些日期为空的结果,但我也想获取这些记录。

示例代码是,

AND TO_DATE(PLLA.PROMISED_DATE) 
    BETWEEN NVL (to_char(to_date(substr(:PROMISED_DATE_FROM, 1, 20), 'YYYY/MM/DD'), 'DD-MON-YY'), TO_DATE(PLLA.PROMISED_DATE)) 
        AND NVL (to_char(to_date(substr(:PROMISED_DATE_to, 1, 20), 'YYYY/MM/DD'), 'DD-MON-YY'), TO_DATE(PLLA.PROMISED_DATE)) 

【问题讨论】:

请添加代码和示例数据。 AND TO_DATE(PLLA.PROMISED_DATE) BETWEEN NVL (to_char(to_date(substr(:PROMISED_DATE_FROM,1,20),'YYYY/MM/DD'),'DD-MON-YY'), TO_DATE(PLLA.PROMISED_DATE)) 和 NVL (to_char(to_date(substr(:PROMISED_DATE_to,1,20),'YYYY/MM/DD'),'DD-MON-YY'),TO_DATE(PLLA.PROMISED_DATE)) 请参考我上面的第一条评论,谢谢。 为了将来参考,请编辑您的问题以包括澄清或进一步的信息。由于布局和格式不佳,尤其是在 cmets 中代码难以阅读。 另外,PLLA.PROMISED_DATE 真的没有用 DATE 数据类型定义吗?表现不佳。 【参考方案1】:

将 nvl 条件也添加到 PLLA.PROMISED_DATE...并尝试您的代码...

【讨论】:

我没明白。我只是想知道我该如何处理它。 如果您在 :promised_from 和 :promised_to 日期之间使用 NVL(PLLA.PROMISED_DATE,sysdate) - 输出会是什么?...尝试更新 @Tamil - “如果你在 :promised_from 和 :promised_to 日期之间使用 NVL(PLLA.PROMISED_DATE,sysdate) - 输出会是什么?” 嗯,我敢打赌,一个完全不可靠且几乎可以肯定是错误的结果集。 认为会发生什么? @APC,我只是建议在 plla.promised 日期使用 NVL...不是确切的命令...开发人员必须在不同的情况下进行试验和测试才能获得所需的输出.. .【参考方案2】:

如果您想包含 PLLA.PROMISED_DATE 为空的记录,那么您只需在 WHERE 子句中包含该条件:

AND ( PLLA.PROMISED_DATE is null or 
      TO_DATE(PLLA.PROMISED_DATE) BETWEEN NVL (to_char(to_date(substr(:PROMISED_DATE_FROM,1,20),'YYYY/MM/DD'),'DD-MON-YY'),TO_DATE(PLLA.PROMISED_DATE)) 
                                  and NVL (to_char(to_date(substr(:PROMISED_DATE_to,1,20),'YYYY/MM/DD'),'DD-MON-YY'),TO_DATE(PLLA.PROMISED_DATE)) 
)

您发布的示例代码真的很难理解。切换to_char()to_date() 始终是一个危险信号。如果 :PROMISED_DATE_FROM 和 :PROMISED_DATE_TO 作为实际日期传递会更好。但是,如果它们作为字符串传递,substr() 需要什么?如果传递的参数确实包含无关字符,为什么子字符串不是 10 个字符长,您在 to_date() 中使用的日期掩码的长度?

另外,当您将to_date() 应用于 PLLA.PROMISED_DATE 时,为什么还要将参数转回字符串?如果该列不是日期数据类型,这将是一个糟糕的显示,但至少您需要确保在 = 运算符的两侧比较相同的数据类型。

【讨论】:

MYSQL查询以排除结果中具有空值的列

】MYSQL查询以排除结果中具有空值的列【英文标题】:MYSQLquerytoexcludecolumnwithnullvalueintheresult【发布时间】:2020-06-1306:35:30【问题描述】:场景是我有两个表,我想使用使用PHP的搜索功能来查询它们。有两个表,table_a和table_b。在t... 查看详情

VBScript:将具有空值的参数传递给存储过程?

】VBScript:将具有空值的参数传递给存储过程?【英文标题】:VBScript:Passingaparameterwithanullvaluetoastoredprocedure?【发布时间】:2010-11-1216:29:27【问题描述】:在VBScript(ASP环境)中,是否可以将具有空值的参数传递给存储过程?【问... 查看详情

SQL从具有空值的行数据中选择MIN值

...ullvalues【发布时间】:2012-08-1716:45:15【问题描述】:我在Oracle中的表是这样的ColCol1Col2Col3ColR------------------307340null-106032null20409080nullnull108045813050我也可以在上面的列中设置0而不 查看详情

如何获取sql中给定行具有空值的列数?

】如何获取sql中给定行具有空值的列数?【英文标题】:Howtogetcountofcolumnsthatarehavingnullvaluesforagivenrowinsql?【发布时间】:2020-09-1512:26:40【问题描述】:我有一个有115列的表。在7列中,我需要获取给定行的非空值的列数。【问题... 查看详情

如何在 Spark/Scala 中查找具有许多空值的列

】如何在Spark/Scala中查找具有许多空值的列【英文标题】:HowtofindcolumnswithmanynullsinSpark/Scala【发布时间】:2017-08-0422:36:59【问题描述】:我在Spark/Scala中有一个数据框,它有100列。许多其他列有许多空值。我想找到空值超过90%的... 查看详情

在 Hbase 中查找具有空值的行数

】在Hbase中查找具有空值的行数【英文标题】:FindcountofrowswithemptyvalueinHbase【发布时间】:2018-01-0300:50:34【问题描述】:我已经填充了一个Hbase表,其中包含与推文有关的rowid和vrious信息,例如纯文本、url、hashtag等,如下所示90222... 查看详情

如何在sql developer中执行同时具有out参数和返回值的函数以获取结果

】如何在sqldeveloper中执行同时具有out参数和返回值的函数以获取结果【英文标题】:Howtoexecuteafunctionwhichhasbothoutparameterandreturnvaluetogettheresultbothinsqldeveloper【发布时间】:2020-06-2314:47:39【问题描述】:createorreplaceFUNCTIONRETURN_AP_ORDER... 查看详情

Spring JDBC为具有值的列返回空值

】SpringJDBC为具有值的列返回空值【英文标题】:SpringJDBCreturningnullvaluesforcolumnswithvalues【发布时间】:2021-12-2720:53:24【问题描述】:我对@9​​87654321@的体验很奇怪。两个相似的查询返回不同的结果。当我在存储库中使用@Query时... 查看详情

Redshift:分析数据库中所有表中具有空值的所有列

】Redshift:分析数据库中所有表中具有空值的所有列【英文标题】:Redshift:Analysisofallcolumnswithnullvaluesinallthetablesinadatabase【发布时间】:2018-06-2911:29:05【问题描述】:需要在我的数据库中所有表的所有列中查找null和非null值的计数... 查看详情

在每个数据库的表中查找具有空值的列[关闭]

】在每个数据库的表中查找具有空值的列[关闭]【英文标题】:Findingcolumnswithnullvaluesintableforeachdatabase[closed]【发布时间】:2018-02-2812:38:17【问题描述】:我有一个表,其中包含Databasename、tablename、columnname、query等列。但在查询列... 查看详情

JQuery ajax - 如何传递具有空值的数组参数

】JQueryajax-如何传递具有空值的数组参数【英文标题】:JQueryajax-howtopassanarrayparameterwithnullvalue【发布时间】:2021-10-3104:41:55【问题描述】:我需要将一个数组参数传递给我的ASP.NET后端。它看起来像这样:$.ajax(url:\'test\',type:\'POST\... 查看详情

在其中一列中具有多个空值的复合唯一键约束

】在其中一列中具有多个空值的复合唯一键约束【英文标题】:CompositeUniquekeyconstraintwithmultiplenullvalueinoneofthecolumn【发布时间】:2019-06-1416:25:41【问题描述】:我在表x上有一个唯一键,包含3列(a,b,c),其中a,b,c是外键,c在x表中可... 查看详情

有没有办法避免在 Apollo GraphQL 中返回具有空值的键?

】有没有办法避免在ApolloGraphQL中返回具有空值的键?【英文标题】:IsthereawaytoavoidreturingkeyswithnullvaluesinApolloGraphQL?【发布时间】:2021-01-3109:07:49【问题描述】:我在一个类型中有一个可以为空的属性:typePersonjob:String还有一个查... 查看详情

弹性搜索:索引具有空值的日期字段

】弹性搜索:索引具有空值的日期字段【英文标题】:ElasticSearch:indexingdatesfieldthathasnullvalues【发布时间】:2018-10-2906:39:53【问题描述】:我在Python中使用Elasticsearch客户端为以下字段创建索引,但我一直坚持创建具有空值的日期... 查看详情

在 jquery 的自动完成中添加具有空值的自定义项

】在jquery的自动完成中添加具有空值的自定义项【英文标题】:Addcustomitemwithnullvalueinjquery\'sautocomplete【发布时间】:2020-06-3022:06:04【问题描述】:使用jQuery\'sautotompletewidget,如果没有条件匹配,我想添加一项。该项目添加得很... 查看详情

如何在java中解析具有空值的json对象?

我正在构建一个测试套件来测试我的Vert.xAPI,它实现了几种排序算法。我想介绍的一个测试用例是处理未排序数组中的null或空值:请求正文是我创建的JSON字符串,如下所示:finalStringjson="{"arr":[99,[2,4,],[[55]],0]}";目前我正在使用Ve... 查看详情

具有空值的 s-s-rS 输入参数触发报告本身

】具有空值的s-s-rS输入参数触发报告本身【英文标题】:s-s-rSinputparameterswithnullvaluestriggerreportitself【发布时间】:2018-02-0121:53:33【问题描述】:当我们有像@fromDate@toDate这样的存储过程的输入参数并且都允许空值时,当运行报告... 查看详情

对具有空值和不同值的行进行分组

】对具有空值和不同值的行进行分组【英文标题】:Grouprowshavingnullvalueandadistinctvalue【发布时间】:2020-06-2706:03:39【问题描述】:我正在尝试对最后一列(LeaveDays)求和,并需要通过对所有列进行分组来将输出放在一行中,但我无... 查看详情