我有我使用的返回值的查询:设置变量串本身查询
DECLARE @ VALUE varchar(1000) = 'ACELLA PHARMA [A200]'
select
a.item_id,
attr_vals = concat(a.attr_val, ' ', quotename(b.attr_val))
from
ndc_attr as a
left outer join
[NDC_ATTR] b
on b.field_id = 144
and a.field_id = 225
where
b.attr_val is not null
and b.attr_val like '%' [email protected] VALUE + '%'
的事情是我需要的括号内的值:在这个例子A200。
我试图通过它添加一个if语句,打破了查询:
if @VALUE like '%[%' and @VALUE like '%]%'
begin
SET @VALUE = SUBSTRING(@VALUE, CHARINDEX('[', @VALUE) + 1, LEN(@VALUE) - 1)
end
但奇怪的是,完整的字符串将返回( 'ACELLA PHARMA [A200]')。
如何分解此值,使括号内的字符串位于@VALUE上?
这可能有助于http://stackoverflow.com/questions/4021507/mysql-use-regex-to-extract-string-select-regex –
谁删除了他们的答案,这是有帮助的!把它放回去! –
我会恢复它,但戈登的更好在我看来...你应该使用他的。 – JiggsJedi