27,579
社区成员
发帖
与我相关
我的任务
分享
SELECT ID,
SUBSTRING(SUBSTRING(CONTENT,CHARINDEX('18',CONTENT),LEN(CONTENT)-CHARINDEX('18',CONTENT)+1),1,
CHARINDEX(';',SUBSTRING(CONTENT,CHARINDEX('18',CONTENT),LEN(CONTENT)-CHARINDEX('18',CONTENT)+1))-1)FROM TB
WHERE CHARINDEX('18',CONTENT)>0
select
id,[desc]
from
(
select id, parsename(replace([desc],';','.'),1) as [desc] from tb
union all
select id, parsename(replace([desc],';','.'),2) as [desc] from tb
union all
select id, parsename(replace([desc],';','.'),3) as [desc] from tb
)t
where
[desc] like '18%'
create table tb(id int,[desc] nvarchar(100))
insert into tb select 1,'17我是只大老鼠;18我不是小花猫;19亚历山大;'
insert into tb select 2,'14亚里士多德;15加利福尼亚;18面板夹筷子;'
insert into tb select 3,'23亚历山大;11加利福尼亚;'
go
select id,substring([desc],charindex('18',[desc]),charindex(';',[desc],charindex('18',[desc])+1)-charindex('18',[desc])) [desc]
from tb
where charindex('18',[desc])>0
/*
id desc
----------- ----------------------------------------------------------------------------------------------------
1 18我不是小花猫
2 18面板夹筷子
*/
go
drop table tb