在单选择语句中,我需要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
!!
答案 0 :(得分:1)
LEN(CHAR_FIELD_OR_VAR)
忽略尾随空格的一种方式;
left(fld, len(fld))
或
select left(fld, (len(fld + '.')-1)-patindex('%[^ ]%', reverse(fld))+1)
答案 1 :(得分: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
答案 2 :(得分:0)
Select rtrim(ltrim(col)) from....
这将修剪列的两侧
答案 3 :(得分:0)
我认为你的答案在标题中:
SELECT Columm1
, RTRIM(Column1) as Column1Trimmed
FROM Table1
RTRIM是Right TRIMming最有效的方法。
没有RTRIM:
select '* *'
, REPLACE('* *',' ','')