如何从列中'%'符号后仅拉回字符串?我有一个这样的字符串:
0.010%优先票据,将于2016年5月12日到期
我想回复一下:
高级笔记,将于2016年5月12日到期
到目前为止,我已尝试使用以下SQL来实现此功能,但这是不正确的。
right(name, CHARINDEX('[%]',name))
答案 0 :(得分:4)
以下脚本将带回'%'
之后的所有内容DECLARE @string nvarchar(200)
SET @string = '0.010% Senior notes, due May 12, 2016'
SELECT LTRIM(RTRIM(RIGHT(@string, CHARINDEX('%', REVERSE(@string))-1)))
结果:2016年5月12日到期的优先票据
希望这有帮助。
答案 1 :(得分:1)
这将给出您预期的输出:
SELECT SUBSTRING('0.010% Senior notes, due May 12, 2016',
CHARINDEX('%','0.010% Senior notes, due May 12, 2016')+1,
LEN('0.010% Senior notes, due May 12, 2016')
)
作为
SUBSTRING ( expression ,start , length ) will produce substring
- Gives Specific String between Start and Length
CHARINDEX ( expressionToFind ,expressionToSearch [ , start_location ] )
- Gives Index of Specific Character
LEN ( string_expression )
- Length Of String
输出
Senior notes, due May 12, 2016