假如有张表a,字段如下:
id name
1 北京;上海;
2 广东;福建;广西;
......下面查询条件是“ 上海;北京;”
现在怎么可以查询出
id name
1 北京;上海;
id name
1 北京;上海;
2 广东;福建;广西;
......下面查询条件是“ 上海;北京;”
现在怎么可以查询出
id name
1 北京;上海;
解决方案 »
- tempdb数据库
- 我复制sql Help文件的备份代码去备份,还是有错,请帮我看一下,多谢!
- 问一个简单问题,有关错误处理的!!!
- 如何用select返回指定行数的数据
- 如何将数据库表中的数据导出到EXCEL?而且需自动倒出?
- java连接sqlserver查询有的表乱码
- 如何让下面的sql 运行效率最高. 各种提示都可以,比如index,sql的写法等.
- SQL Server数据库合并复制问题
- 怎么办sqlserver中某个表的数据倒入到oracle中的表中??两个表的结构相同.
- 在线等! 同一张表更新表字段
- 求助 复杂的 mssql如何将表名单独做变量
- 存储过程用到“事务处理”,多处要写rollback transaction,太乱了,有好思路吗?
create table tb (id int,name varchar(20))
insert into tb
select 1,'北京;上海;' union
select 2,'广东;福建;广西;'declare @str varchar(20)='上海;北京;'
select * from tb where PATINDEX('%[^'+@str+']%',name)=0/*
id name
----------- --------------------
1 北京;上海;
如果是低版本的create table tb (id int,name varchar(20))
insert into tb
select 1,'北京;上海;' union
select 2,'广东;福建;广西;'declare @str varchar(20)
set @str='上海;北京;'
select * from tb where PATINDEX('%[^'+@str+']%',name)=0
-- Author :fredrickhu(小F,向高手学习)
-- Date :2011-05-11 16:34:38
-- Verstion:
-- Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86)
-- Jul 9 2008 14:43:34
-- Copyright (c) 1988-2008 Microsoft Corporation
-- Enterprise Evaluation Edition on Windows NT 5.1 <X86> (Build 2600: Service Pack 3)
--
----------------------------------------------------------------
--> 测试数据:[tb]
if object_id('[tb]') is not null drop table [tb]
go
create table [tb]([id] int,[name] varchar(15))
insert [tb]
select 1,'北京;上海;' union all
select 2,'广东;福建;广西;'
--------------开始查询--------------------------
declare @str varchar(20)
set @str='上海;北京;'
select * from tb where PATINDEX('%[^'+@str+']%',name)=0
----------------结果----------------------------
/* id name
----------- ---------------
1 北京;上海;(1 行受影响)
*/