2017-08-29 69 views
2

我们的项目说明字段可以在文本之间具有随机数量的空格。我使用RTRIMLTRIM在用SQL进行提取时清理列的右侧和左侧,但这不能解决单词之间不必要的空格。从字符串中删除未知数量的空格

我试过创建一个公式TRIM({Command.ItemDesc}),但是这并没有去掉多余的空格。有没有办法在Crystal或SQL 2016中解决这个问题?

+0

此处介绍的解决方案适用于:https://stackoverflow.com/questions/2182877/sql-method-to-re- replace-repeating-blanks-with-single- b lanks –

+0

你想删除中间的所有*空格吗?或者只是将多个链接空间缩小到一个空间中?这将影响哪些答案适用于您的案例。 – 4444

+0

我正试图将链接空间的数量减少到单个空间中。到目前为止,似乎所有答案都将特定数量的空间缩减为单个空间。问题在于空间的数量因记录而异。 –

回答

2

TRIM用空格字符串中间不处理,只有空格前后串后,您需要使用Replace功能,尝试:

Replace({Command.ItemDesc}," ","") 
0

朗的答案将删除所有空间你的字符串。如果你想保持一定的必要空间,但删除不必要的,你可以用这个公式:

TRIM(Replace({Command.ItemDesc}," "," ") 

这个公式有两个步骤:

  1. 前后串后删除所有空格
  2. 将多个空间的任意点缩小到一个空间中