转换RTRIM(PL / SQL到T-SQL)

时间:2014-02-27 16:22:45

标签: sql-server oracle tsql plsql

我需要将此PL-SQL转换为T-SQL。

rtrim([FIELDA],';')    --this from PL-SQL

rtrim的等价物是什么?由于t-sql中的rtrim仅删除空格而不删除字符。

2 个答案:

答案 0 :(得分:2)

怎么样:

;with TEST(FIELDA) as (
    select ';' union
    select ';;' union
    select 'a;' union
    select ';b;' union
    select ';cc;' union
    select ';ddd;;' union
    select ';eeee;;;' union
    select 'fffff' union
    select ';ggggg' 
)

select 
    FIELDA, 
    left(FIELDA, 1 + len(FIELDA) - patindex('%[^;]%', reverse('Z' + FIELDA)))
from TEST


FIELDA      (No column name)
;   
;;  
;b;         ;b
;cc;        ;cc
;ddd;;      ;ddd
;eeee;;;    ;eeee
;ggggg      ;ggggg
a;          a
fffff       fffff

答案 1 :(得分:0)

编辑 -

这会剪掉右边的最后一个字符,与LEFT

的效果相同
RIGHT([Field], LEN([Field])-1)

虽然这假设您知道在字符串末尾需要删除多少。