删除字符后的文本(剪切字符串sql)

时间:2014-09-29 14:03:45

标签: sql tsql

当我找到字符'#'时,我想剪切文本的左侧部分:

文本:

1) 12341#123

2) 123#1

正确的结果:

1) 123

2) 1
你知道怎么样?

我尝试使用此功能但不起作用:

LEFT(A.Vat,CHARINDEX('#',A.Vat)-1)

2 个答案:

答案 0 :(得分:1)

一般规则:

select RIGHT(fieldName,len(fieldName) - patindex('%#%',fieldName))

示例:

select RIGHT('12341#123',len('12341#123') - patindex('%#%','12341#123'))

select RIGHT('123#1',len('123#1') - patindex('%#%','123#1'))

答案 1 :(得分:1)

假设始终只有1 #

SELECT SUBSTRING(f, CHARINDEX('#', f) + 1, LEN(f))

超过1 #

SELECT RIGHT(f, CHARINDEX('#', REVERSE(f)) - 1)
相关问题