【问题标题】:Select part of a field after the last occurrence o a certain character in MSSQL在 MSSQL 中的某个字符最后一次出现之后选择字段的一部分
【发布时间】:2012-07-23 15:59:51
【问题描述】:

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

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

我试过这个,但它不起作用......

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

有什么想法吗?

谢谢

【问题讨论】:

    标签: sql-server-2008 tsql texttrimming


    【解决方案1】:
    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)
    

    【讨论】:

      【解决方案2】:
      select
      right(BUG.CloseDescription,charindex(']',reverse(BUG.CloseDescription))-1)
      from Bug
      

      【讨论】:

        猜你喜欢
        • 2020-09-17
        • 1970-01-01
        • 2014-01-21
        • 2023-02-04
        • 1970-01-01
        • 1970-01-01
        • 2015-05-11
        • 2022-06-18
        • 1970-01-01
        相关资源
        最近更新 更多