如何删除空字符串

How to Remove Empty Strings

我正在尝试找到一种方法 trim 或删除看似空字符串中的空格,这样当我查找最小值时,我得到的结果是字符而不是空字符串空间。

最初我尝试排除空字段 (!=""),但是由于空字符串包含空格,从技术上讲它不是空字符串,所以我尝试了 Trimming,但仍然无法获得我需要的结果集。

select trim(Field_1) as Field_1
from Table_1
where Field_Date between '2019-08-01' and '2019-08-31'
and Field_1 != ""
order by Field_1 asc

我得到的结果集是:

我需要的结果集

就我个人而言,我首先会研究为什么您会得到空字符串。 如果它们应该是空记录集,那么您肯定有一些代码在某处插入了不必要的空格。

解决此问题将阻止任何空白语句出现在 SQL 搜索中,因为它们将返回为空。这也可以在将来为您节省时间,因为数据库中的空格可能会很痛苦!

但是,如果您仍在寻找一种方法来替换代码中的空格,我建议您阅读这篇文章: REPLACE Multiple Spaces with one

我相信这会让你走上正轨。

您的 WHERE 条件似乎没有被修剪,而您的 SELECT 被修剪了。

在您的情况下,您使用 Field_1 作为条件中的参考,它似乎指的是 table 的列,而不是您通过说 trim(Field_1) as Field_1 创建的别名

如果您只想要没有空格的结果,则不需要 trim() 您选择的列,因为您的条件强制您的结果不能有空格,所以为什么不在您的中使用 trim()第二个条件?

这样 Field_1 的每条记录的值将被修剪 首先 然后与 "".

进行比较

这样的怎么样?

select Field_1
from Table_1
where Field_Date between '2019-08-01' and '2019-08-31'
and trim(Field_1) != ""
order by Field_1 asc
select Field_1
from Table_1
where Field_Date between '2019-08-01' and '2019-08-31'
and Field_1 not like '% %'
order by Field_1 asc