我需要将这个PL-SQL转换为T-SQL。
rtrim([FIELDA],';') --this from PL-SQL什么等同于rtrim?因为t-sql中的rtrim只删除空格,而不删除字符。
发布于 2014-02-28 01:05:10
这样如何:
;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发布于 2014-02-28 00:29:28
编辑-
这将修剪掉右边的最后一个字符,与LEFT相同
RIGHT([Field], LEN([Field])-1)尽管这假设您知道字符串末尾需要删除多少内容。
https://stackoverflow.com/questions/22074344
复制相似问题