表a 字段b varchar
使用SELECT语句
select * form a where b like %我是yxd1984gz%
怎样截取“我是yxd1984gz”及其前后若干个字符,或得到“我是yxd1984gz”在b中的位置?
使用SELECT语句
select * form a where b like %我是yxd1984gz%
怎样截取“我是yxd1984gz”及其前后若干个字符,或得到“我是yxd1984gz”在b中的位置?
set @t='yxd1984gz11111111111'select charindex('yxd1984gz',@t)select patindex('%yxd1984gz%',@t)
--------------------------------------
select charindex('我是yxd1984gz',b) as 位置 from a where b like '%我是yxd1984gz%'
set @t='1111111111111111100000我是yxd1984gz1234567890100000000'select substring(@t,charindex('我是yxd1984gz',@t)-10,10),
substring(@t,charindex('我是yxd1984gz',@t)+len('我是yxd1984gz'),10),
substring(@t,charindex('我是yxd1984gz',@t)-10,len('我是yxd1984gz')+20)
set @t='1111111111111111100000我是yxd1984gz1234567890100000000'select substring(@t,charindex('我是yxd1984gz',@t)-10,10),
substring(@t,charindex('我是yxd1984gz',@t)+len('我是yxd1984gz'),10),
substring(@t,charindex('我是yxd1984gz',@t)-10,len('我是yxd1984gz')+20)
这里还要判断charindex('我是yxd1984gz',@t)-10是否为负数,如果为负数,应该换算为0,长度就不应该取10。