字段模糊性查询问题

sherry3362 2010-09-17 05:23:11
有表t ,两个字段,ch1有数据,ch2暂时为空,如下:
ch1 ch2
CD-002-006 CD-0asd
SONY-09 SONYdfg
NOKIA-002 NOKIhgj
PANADA-22-DC PANAGDG
ASUS-DC-ER ASUSEHJ
LENOVO aLENOVO

要求比对ch1 ch2 同一行的字段,筛选出前四位不一样的列,运行结果为:
LENOVO aLENOVO

以上求教各位达人,相关的2000SQL 的select语句如何写?
...全文
103 5 点赞 打赏 收藏 举报
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
boqiang1988 2010-09-17
比较赞同
select * from t where substring(ch1,1,4)<>substring(ch2,1,4);
学习了!
  • 打赏
  • 举报
回复
hao1hao2hao3 2010-09-17

if object_id('tb')>0
drop table tb
create table tb
(ch1 varchar(20), ch2 varchar(20))
insert into tb values('CD-002-006' , 'CD-0asd')
insert into tb values('SONY-09' , 'SONYdfg')
insert into tb values('NOKIA-002' , 'NOKIhgj')
insert into tb values('PANADA-22-DC', 'PANAGDG')
insert into tb values('ASUS-DC-ER' , 'ASUSEHJ')
insert into tb values('LENOVO' , 'aLENOVO')

select * from tb where substring(ch1,1,4) <> substring(ch2,1,4)

结果
LENOVO aLENOVO

  • 打赏
  • 举报
回复
ws_hgo 2010-09-17

if not object_id('tb') is null
drop table tb
go
create table tb(ch1 varchar(20), ch2 varchar(20))
insert into tb values('CD-002-006' , 'CD-0asd')
insert into tb values('SONY-09' , 'SONYdfg')
insert into tb values('NOKIA-002' , 'NOKIhgj')
insert into tb values('PANADA-22-DC', 'PANAGDG')
insert into tb values('ASUS-DC-ER' , 'ASUSEHJ')
insert into tb values('LENOVO' , 'aLENOVO')
go


select * from tb where left(ch1,4)<>left(ch2,4)

ch1 ch2
-------------------- --------------------
LENOVO aLENOVO

(1 行受影响)
  • 打赏
  • 举报
回复
dawugui 2010-09-17
create table tb(ch1 varchar(20), ch2 varchar(20))
insert into tb values('CD-002-006' , 'CD-0asd')
insert into tb values('SONY-09' , 'SONYdfg')
insert into tb values('NOKIA-002' , 'NOKIhgj')
insert into tb values('PANADA-22-DC', 'PANAGDG')
insert into tb values('ASUS-DC-ER' , 'ASUSEHJ')
insert into tb values('LENOVO' , 'aLENOVO')
go

select * from tb where left(ch1,4) <> left(ch2,4)

drop table tb

/*
ch1 ch2
-------------------- --------------------
LENOVO aLENOVO

(所影响的行数为 1 行)

*/
  • 打赏
  • 举报
回复
dawugui 2010-09-17
select * from t where left(ch1,4) <> left(ch2,4)
  • 打赏
  • 举报
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2010-09-17 05:23
社区公告
暂无公告