-1

在单选语句中,我需要RTRIM在 SQL Server 2005 环境中使用字符串。

在您看来,实现这一目标的最有效技术是什么?

例子:

'ALPHA    ' ==> 'ALPHA' (the blanks at the end are removed)
' BETA  ' ==> ' BETA'  (the blank in first position remains, the two blanks at the end are removed)
' GAMMA' ==> ' GAMMA'  (the blank in first position remains)

预先感谢您的帮助。

编辑:我无权使用RTRIM!!

4

4 回答 4

1

一种LEN(CHAR_FIELD_OR_VAR)忽略尾随空格的方法;

left(fld, len(fld))

或者

select left(fld, (len(fld + '.')-1)-patindex('%[^ ]%', reverse(fld))+1) 
于 2012-10-25T15:24:26.507 回答
1

尝试这个

Declare @str Varchar(50) = '      GAMMA    ' 
;With Cte As
( 
    Select Data = Substring(@str,Number,1) 
    From master.dbo.spt_values 
    where Number Between 1 And Len(@str) And Type='P' 
) 
Select Data = Replace(Bar,' ',' ') 
From (Select Cast(Data As Varchar(Max)) From Cte For Xml Path(''))Foo(Bar)

结果

Data
      GAMMA
于 2012-10-26T03:32:24.350 回答
0
Select rtrim(ltrim(col)) from....

这将修剪柱子的两侧

于 2012-10-25T13:47:27.573 回答
0

我认为您的答案在标题中:

SELECT Columm1
, RTRIM(Column1) as Column1Trimmed
FROM Table1

RTRIM 是最有效的 Right TRIMming 方法。

没有 RTRIM:

select '*          *'
, REPLACE('*          *',' ','')
于 2012-10-25T13:47:48.870 回答