在此查询中,我需要添加啥使其永远不会显示空白或空值?

Posted

技术标签:

【中文标题】在此查询中,我需要添加啥使其永远不会显示空白或空值?【英文标题】:In this query, what do I need to add so it never displays blanks or null values?在此查询中,我需要添加什么使其永远不会显示空白或空值? 【发布时间】:2020-07-08 14:01:12 【问题描述】:
@Query(nativeQuery = true, value = "SELECT " +
          "COUNT(DISTINCT pd.id) FILTER (WHERE c.year NOT IN ('2020', '2021', '')) AS \"notCurrent\",  " +

此查询针对名为 notCurrent 的过滤器。 The problem is, when the filter is selected, it still shows blank values, even though I added '' in the query.选择此过滤器时,我需要怎么做才能不显示空白/空值?

用户界面:

export function forceFilter(key, filterVal, table, dataType, title) 
  var newTable = JSON.stringify(table);
  newTable = JSON.parse(newTable);
  var updated = false;
  if (key != "disclosure" && filterVal == "Unknown") 
    filterVal = "";
   else if (filterVal == "Not Current") 
    filterVal = "notCurrent";
  

【问题讨论】:

【参考方案1】:

默认的空“值”可能不是空字符串,而是null,您可能想尝试将其添加到您的WHERE 子句中

AND c.year IS NOT NULL

【讨论】:

【参考方案2】:

您可以在修剪该列后检查长度是否大于 0,并且检查是否不为空。

类似下面的曾经使用过 选择 不同的 email_id FROM FCSR_USER_MST WHERE length(trim(email_id)) >0 and email_id IS NOT NULL

See this link对你有帮助

【讨论】:

以上是关于在此查询中,我需要添加啥使其永远不会显示空白或空值?的主要内容,如果未能解决你的问题,请参考以下文章

仅当过滤器值不是空字符串、空格或空值时过滤 MySQL 查询最佳实践

如何为第一个表的空白或空值应用左连接?

如何在ComboBox中添加“空”选择?

TypeError:无法将未定义或空值转换为对象 - 尝试在路由器中执行 MySQL 查询时

在“reactstrap”导航栏中使用“折叠”时“无法将未定义或空值转换为对象”

如何将“空”选择添加到 ComboBox?