在MSSQL中的某个字符的最后一次出现之后选择字段的一部分

时间:2012-07-25 08:54:18

标签: sql-server-2008 tsql texttrimming

我有一个包含更改日志的字段。每次在方括号之间添加日期。

我需要在最后一个之后提取字段的最后一位]以将其放入表中。

我正在尝试这个,但它不起作用......

select
SUBSTRING(BUG.CloseDescription,0,PATINDEX(']',bug.CloseDescription)) as myString
from Bug

有什么想法吗?

感谢

2 个答案:

答案 0 :(得分:0)

declare @field varchar(100)
set @field = 'test [2012-02-10 10:00] wibble'
select right(@field, charindex('[',@field))

或获取日期

declare @field varchar(100)
set @field = 'test [2012-02-10 10:00] wibble'
select substring(@field, charindex('[',@field)+1, charindex(']',@field)-charindex('[',@field)-1)

答案 1 :(得分:0)

select
right(BUG.CloseDescription,charindex(']',reverse(BUG.CloseDescription))-1)
from Bug