regex - How to select all occurrences of regular expression in a single field of SQL -
i need list of occurrences of specific regular expression in single record of sql
for example have record this:
=> 'dear {0}, account expire in {1} days'
i stored string in table , want select occurrences of '{something}'
in example:
=> {0} {1}
what should ???
thanks i've found answer of question
declare @inputtext nvarchar(100) ; select @inputtext = 'dear {token 0}, account expire in {token 1} days' ; tokens ( select substring(@inputtext,patindex('%{%',@inputtext)+1,patindex('%}%',@inputtext)-patindex('%{%',@inputtext)-1) token , substring(@inputtext,patindex('%}%',@inputtext)+1,len(@inputtext)) new , patindex('%{%',substring(@inputtext,patindex('%}%',@inputtext)+1,len(@inputtext))) [nextstart] , patindex('%}%',substring(@inputtext,patindex('%}%',@inputtext)+1,len(@inputtext))) [nextend] union select substring(tokens.new,tokens.[nextstart]+1,tokens.[nextend]-tokens.[nextstart]-1) , substring(tokens.new,tokens.[nextend]+1,len(tokens.new)) , patindex('%{%',substring(tokens.new,tokens.[nextend]+1,len(tokens.new))) , patindex('%}%',substring(tokens.new,tokens.[nextend]+1,len(tokens.new))) tokens tokens.[nextstart] != 0 ) select token tokens
and result this:
=> token 0 token 1
Comments
Post a Comment