字段模糊性查询问题

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语句如何写?
...全文
141 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
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)

22,300

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧