我需要将此PL-SQL转换为T-SQL。
rtrim([FIELDA],';') --this from PL-SQL
rtrim
的等价物是什么?由于t-sql中的rtrim
仅删除空格而不删除字符。
答案 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)
虽然这假设您知道在字符串末尾需要删除多少。