server2008 执行
select * from 表名 where id1 like '%%'and id2 like '%%'为啥没有记录被选中
而当执行select * from 表名 where id1 like '%%'
或者执行select * from 表名 where id2 like '%%'
时,全部记录都能选择
select * from 表名 where id1 like '%%'and id2 like '%%'为啥没有记录被选中
而当执行select * from 表名 where id1 like '%%'
或者执行select * from 表名 where id2 like '%%'
时,全部记录都能选择
--> 测试数据:[tbl]
if object_id('[tbl]') is not null drop table [tbl]
create table [tbl]([ID] int,[Code] int)
insert [tbl]
select 1,123 union all
select 2,123 union all
select 4,123 union all
select 6,1234 union all
select 7,1234--1
select * from tbl where ltrim(Code) like '%%'
/*
ID Code
1 123
2 123
4 123
6 1234
7 1234
*/
--2
select * from tbl where ltrim([ID]) like '%%'
/*
ID Code
1 123
2 123
4 123
6 1234
7 1234
*/
--3
select * from tbl where
ltrim(Code) like '%%' and ltrim([ID]) like '%%'
/*
ID Code
1 123
2 123
4 123
6 1234
7 1234
*/
--本机测试(MSSQL2008 开发版)结果为全部都显示出来,跟你所说的偏差
id1 like '%%'and id2 like '%%'
你的语句
select * from 表名 where id1 like '%%' and id2 like '%%'
从语句看你的条件是且的关系,也就是说必须同时满足2个条件。
你可以这样呀(下面的分解法和你的语句是一个道理)
先:select * into #a from 表名 where id1 like '%%'
再:select * from #a where id2 like '%%'
如果没有记录那就说明你的表中没有同时满足2个条件的。希望lz成功。