---------------------------------------------------------------- -- Author :DBA_Huangzj(發糞塗牆) -- Date :2014-01-15 11:26:05 -- Version: -- Microsoft SQL Server 2012 (SP1) - 11.0.3128.0 (X64) -- Dec 28 2012 20:23:12 -- Copyright (c) Microsoft Corporation -- Enterprise Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: ) -- ---------------------------------------------------------------- --> 测试数据:[huang] if object_id('[huang]') is not null drop table [huang] go create table [huang]([keyword] varchar(4)) insert [huang] select '尼玛' union all select '你爸' union all select '大四' --------------开始查询--------------------------select * from [huang] WHERE CHARINDEX(keyword,'尼玛你爸',1)>0 ----------------结果---------------------------- /* keyword ------- 尼玛 你爸*/
这货出手就错。where keyword like '%尼玛%' or keyword like '%你爸%'
from 表
where '尼玛你爸' like '%'+keyword+'%'
-- Author :DBA_Huangzj(發糞塗牆)
-- Date :2014-01-15 11:26:05
-- Version:
-- Microsoft SQL Server 2012 (SP1) - 11.0.3128.0 (X64)
-- Dec 28 2012 20:23:12
-- Copyright (c) Microsoft Corporation
-- Enterprise Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: )
--
----------------------------------------------------------------
--> 测试数据:[huang]
if object_id('[huang]') is not null drop table [huang]
go
create table [huang]([keyword] varchar(4))
insert [huang]
select '尼玛' union all
select '你爸' union all
select '大四'
--------------开始查询--------------------------select * from [huang] WHERE CHARINDEX(keyword,'尼玛你爸',1)>0
----------------结果----------------------------
/*
keyword
-------
尼玛
你爸*/
这货出手就错。where keyword like '%尼玛%' or keyword like '%你爸%'
like用起来简单,但数据量较大时效率低
PATINDEX
LIKE
都可以实现该功能,效能上charindex会更佳