【发布时间】:2014-03-31 05:26:02
【问题描述】:
我需要将此 PL-SQL 转换为 T-SQL。
rtrim([FIELDA],';') --this from PL-SQL
rtrim 的等价物是什么?由于 t-sql 中的rtrim 只删除空格而不删除字符。
【问题讨论】:
标签: sql-server oracle tsql plsql
我需要将此 PL-SQL 转换为 T-SQL。
rtrim([FIELDA],';') --this from PL-SQL
rtrim 的等价物是什么?由于 t-sql 中的rtrim 只删除空格而不删除字符。
【问题讨论】:
标签: sql-server oracle tsql plsql
怎么样:
;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
【讨论】:
编辑-
这将删除右边的最后一个字符,与 LEFT 相同
RIGHT([Field], LEN([Field])-1)
虽然这假设您知道字符串末尾需要删除多少。
【讨论】: