【问题标题】:RTRIM does not remove spaces at the end?RTRIM最后不删除空格?
【发布时间】:2017-10-23 10:05:02
【问题描述】:

我已经使用了查询:

    update Table
    set Seg = RTRIM(Seg)

这仍然没有删除最后的多余空格吗?我真的需要删除它,因为我正在 Excel 中进行 vlookups,它会导致问题。

Seg列的数据类型为(nchar(10), null)

感谢任何帮助。

【问题讨论】:

  • 也许最后有一个隐藏字符(Char(13), Char(10))代替?
  • 是的,马克是正确的,刚刚测试过..create table #t ( col1 nchar(100) ) insert into #t select 'abc '+char(13)+Char(10) select col1,RTRIM(col1) from #t
  • "SELECT 没有损坏。"

标签: sql-server trailing character-trimming


【解决方案1】:

您可以随心所欲地对 NCHAR(X) 列进行右修剪,值的长度将始终相同。即:X。该值将始终用空格填充,因此RTRIM 基本上是固定宽度字符列上的无操作。

还要注意,在字符串比较中,尾随空格会被忽略。

【讨论】:

    【解决方案2】:

    要从末尾修剪空格,您应该使用

    更新 表名 放 列名 = RTRIM(列名)

    如果你想修剪所有空格,那么使用这个

    更新 表名 放 列名 = LTRIM(RTRIM(列名))

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-28
      • 1970-01-01
      • 2019-02-08
      • 1970-01-01
      • 2021-06-15
      • 2022-10-04
      • 2016-08-26
      • 2020-03-18
      相关资源
      最近更新 更多