【问题标题】:removing whitespaces not working MySQL. Used TRIM() and REPLACE()删除不工作 MySQL 的空格。使用 TRIM() 和 REPLACE()
【发布时间】:2014-09-14 22:32:33
【问题描述】:

看看:FIDDLE

select IF((TRIM(replace(' IKECHUKWU  OSUJI',' ',''))=TRIM(replace('IKECHUKWU OSUJI',' 
',''))),"same","diff");
select IF((TRIM(replace(' Aman Minhas  ',' ',''))=TRIM(replace(' Aman Min has',' 
',''))),"same","diff");

第一个查询返回差异。第二个返回相同。这是一些奇怪的间距问题,似乎无法理解为什么会出现这种行为。

【问题讨论】:

  • 你知道你的小提琴是空的吗?
  • 糟糕!已更正.. 感谢 juergen
  • 在 FIDDLE 中执行此操作(如您所推荐)并获得“相同”和“相同”。唯一的区别是,在我粘贴您的代码后,我删除了 Fiddle 窗口中的换行符。你确定你可以重现这个(假设你在执行时删除了换行符)?
  • 我做了,我添加了一张图片供参考..这似乎是一些疯狂的间距问题..
  • 尝试只选择这 4 个表达式的结果。

标签: mysql replace whitespace trim removing-whitespace


【解决方案1】:

你的第一个字符串有一个标签:

select IF((TRIM(replace(' IKECHUKWU  OSUJI',' ',''))
                                   ^ this is actually a tab in the Fiddle

您可以通过额外的REPLACE 摆脱它:

REPLACE(REPLACE(myString, ' ', ''), '\t', '')

\t 是一个特殊的文字。其他特殊文字(例如换行符或 ASCII NUL)也可能会影响您。文字列在here

【讨论】:

    猜你喜欢
    • 2021-10-06
    • 1970-01-01
    • 1970-01-01
    • 2021-11-21
    • 2018-10-04
    • 1970-01-01
    • 2017-05-16
    • 2011-07-14
    • 2019-08-22
    相关资源
    最近更新 更多