34,837
社区成员




select *
from TEST
where patindex('%[你好我你妹我勒个去]%',MSG)>0
/*全分解了..任意匹配
莫愁,你还小,尚不知人心难测啊...
你好吗?
我大概不是很好,你妹
我勒个去啊
(4 行受影响)
--查询
select *
from S
where patindex('%[高波飞]%',SNAME)>0
/*结果
S# SNAME AGE SEX
--------------- ---------- ----------- ----
040405028 张波 20 F
200510405104 高博 22 男
200510405105 筵永飞 23 男
200510405106 董广飞 21 男
200510405108 赵虎波 22 男
(5 行受影响)
*/
-----好像有点问题是全分解了..不知道怎么一个词一个词匹配
CREATE TABLE TEST(MSG VARCHAR(40))
INSERT INTO TEST(MSG)
SELECT '你好吗?'
UNION
SELECT '我大概不是很好,你妹'
UNION
SELECT '浮游,不知所求;猖狂,不知所往.'
UNION
SELECT '我勒个去啊'
UNION
SELECT '莫愁,你还小,尚不知人心难测啊...'
-----
SELECT * FROM TEST
/*MSG
----------------------------------------
浮游,不知所求;猖狂,不知所往.
莫愁,你还小,尚不知人心难测啊...
你好吗?
我大概不是很好,你妹
我勒个去啊
(5 行受影响)*/
--
select *
from TEST
where patindex('%[我你妹我勒个去]%',MSG)>0
/*
MSG
----------------------------------------
莫愁,你还小,尚不知人心难测啊...
你好吗?
我大概不是很好,你妹
我勒个去啊
(4 行受影响)
declare @t table (col varchar(10))
insert into @t
select '你好吗' union all
select '我不好' union all
select '你妹好吗' union all
select '我勒个去' union all
select '内容不文明' union all
select '有点' union all
select '我走了'
select * from @t
where patindex('%你好%', col) <> 0
or patindex('%我%', col) <> 0
or patindex('%你妹%', col) <> 0
or patindex('%我勒个去%', col) <> 0
/*
col
----------
你好吗
我不好
你妹好吗
我勒个去
我走了
*/
declare @str varchar(20)
set @str = '你真的我嘞个去别啥着纠结完了吧孩子缴枪哎呀泥巴是李刚额我信了'
select (case when patindex('%[我嘞个去,纠结]%',@str)>0 then 1 else 0 end)