【问题标题】:Removed blank spaces however values are still not matching删除了空格,但值仍然不匹配
【发布时间】:2015-12-30 12:19:34
【问题描述】:

对列进行分组会得到以下结果:

select column,count(column) from table group by column

column | count(column)

P      | 3123

P      | 145

我想我必须有一个带有尾随空格的“P”。但是,在使用函数TRIM(column)和OREPLACE(column,' ','')之后,像这样:

select TRIM(column), count(TRIM(column)) from table group by TRIM(column)

.. 我仍然得到相同的结果。

【问题讨论】:

  • 列是CHAR吗?如果是,请尝试将CAST 您的专栏设为VARCHAR ?它也可以是一个牢不可破的空间(这些是不可见的且未修剪的),或不同的P 字符。
  • 成功了,谢谢!
  • 然后将其转换为答案,它比预期的要快:)
  • 使用CHAR2HEXINT 来检查这些字符:A0 是一个非中断空格。然后您可以使用RTRIM(col, '20A0'XC) 删除它们。

标签: sql teradata


【解决方案1】:

列是CHAR 吗?如果是,请尝试将您的专栏CAST 设为VARCHAR

它也可以是一个牢不可破的空格(这些是不可见的且未修剪的),或不同的P 字符。

【讨论】:

    猜你喜欢
    • 2018-07-30
    • 2016-06-09
    • 1970-01-01
    • 1970-01-01
    • 2022-01-10
    • 2021-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多