a表b字段id B
1 江西赣州--广东深圳,按时地方艰苦啊就开始得分的
2 赣州--山东济南,按时打开解放会计师地方
2 江西省赣州市--福建厦门,爱上对方空间爱上对方空间取出A表B字段前6个字内包含赣州的
1 江西赣州--广东深圳,按时地方艰苦啊就开始得分的
2 赣州--山东济南,按时打开解放会计师地方
2 江西省赣州市--福建厦门,爱上对方空间爱上对方空间取出A表B字段前6个字内包含赣州的
调试欢乐多
1 江西赣州--广东深圳,按时地方艰苦啊就开始得分的
2 赣州--山东济南,按时打开解放会计师地方
2 江西省赣州市--福建厦门,爱上对方空间爱上对方空间
3 北京--赣州,按时大家分开按时打开解放
where patindex('%赣州%',left(b,6))>0
*
from
tb
where
charindex('赣州',left(b,6))>0
-- Author :fredrickhu(我是小F,向高手学习)
-- Date :2009-12-28 14:28:00
-- Version:
-- Microsoft SQL Server 2005 - 9.00.4035.00 (Intel X86)
-- Nov 24 2008 13:01:59
-- Copyright (c) 1988-2005 Microsoft Corporation
-- Developer Edition on Windows NT 5.2 (Build 3790: Service Pack 1)
--
----------------------------------------------------------------
--> 测试数据:[tb]
if object_id('[tb]') is not null drop table [tb]
go
create table [tb]([id] int,[B] varchar(47))
insert [tb]
select 1,'江西赣州--广东深圳,按时地方艰苦啊就开始得分的' union all
select 2,'赣州--山东济南,按时打开解放会计师地方' union all
select 2,'江西省赣州市--福建厦门,爱上对方空间爱上对方空间'
--------------开始查询--------------------------
select
*
from
tb
where
charindex('赣州',left(b,6))>0
----------------结果----------------------------
/* id B
----------- -----------------------------------------------
1 江西赣州--广东深圳,按时地方艰苦啊就开始得分的
2 赣州--山东济南,按时打开解放会计师地方
2 江西省赣州市--福建厦门,爱上对方空间爱上对方空间(3 行受影响)*/
*
from
tb
where
charindex('赣州',left(b,len(b)-6))>0
select
*
from
tb
where
charindex('赣州',substring(b,7,len(b)-6))>0
传递到 SUBSTRING 函数的长度参数无效。