一个sql的问题!

oneal3417 2010-07-24 10:00:45
以下两个sql语句,为什么执行出来的结果完全不一样?

select a.rq,a.ontime,a.ywy,e.danwbh,e.dwmch,c.spbh,c.spmch,c.dw,c.shpchd,c.shpgg,
b.djbh,b.pihao,b.jwh,b.shl,
b.dj,b.je,b.tichml,a.kpman,b.fahuor,b.fuhr,a.username,b.sxrq,a.is_fapiao
from cwk a(nolock),ywmxk b(nolock),spkfk c(nolock),mchk e(nolock)
where a.djbh=b.djbh and a.dwbh=e.dwbh and b.spid=c.spid
and b.djbh like 'XSA'+'%'
and a.ywy like '%%'
and b.chonghdjbh like case when '%%' ='是' then '%' else '' end
and c.beactive<>'否'
and a.rq>='2010-06-01' and a.rq<='2010-06-01'
and (e.zjm like '%%' or
e.danwbh like '%%' or
e.dwmch like '%%')
order by a.djbh,a.rq

第一句执行后返回5044条记录

declare
@djbh char(25),
@dwmch char(45),
@chonghong char(2),
@ywy char (10),
@srq char (15),
@erq char (15)

set @djbh ='%%'
set @dwmch ='%%'
set @chonghong ='%%'
set @ywy ='%%'
set @srq ='2010-06-01'
set @erq ='2010-06-01'


select a.rq,a.ontime,a.ywy,e.danwbh,e.dwmch,c.spbh,c.spmch,c.dw,c.shpchd,c.shpgg,
b.djbh,b.pihao,b.jwh,b.shl,
b.dj,b.je,b.tichml,a.kpman,b.fahuor,b.fuhr,a.username,b.sxrq,a.is_fapiao
from cwk a(nolock),ywmxk b(nolock),spkfk c(nolock),mchk e(nolock)
where a.djbh=b.djbh and a.dwbh=e.dwbh and b.spid=c.spid
and b.djbh like 'XSA'+'%'
and a.ywy like @ywy
and b.chonghdjbh like case when @chonghong ='是' then '%' else '' end
and c.beactive<>'否'
and a.rq>=@srq and a.rq<=@erq
and (e.zjm like @dwmch or
e.danwbh like @dwmch or
e.dwmch like @dwmch)
order by a.djbh,a.rq

第二条返回0条记录。
何解?求解答!谢谢!
...全文
52 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
njlywy 2010-07-24
  • 打赏
  • 举报
回复
数据类型惹的祸…
csdnadmin 2010-07-24
  • 打赏
  • 举报
回复
同意,是数据类型得导致,
claro 2010-07-24
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20100719/14/a32a3f69-4353-402b-9744-75c762a2e377.html

了解
duanzhi1984 2010-07-24
  • 打赏
  • 举报
回复
是数据类型惹的祸!

VARCHAR(10)与CHAR(10) 数据库分配的空间是不一样的
SQLCenter 2010-07-24
  • 打赏
  • 举报
回复
declare @c char(8), @v varchar(8)
set @c = '%%'
set @v = '%%'
select * from sysobjects where name like @c --> 0记录返回,相当于 like '%% '
select * from sysobjects where name like @v
SQLCenter 2010-07-24
  • 打赏
  • 举报
回复
@djbh char(25),
@dwmch char(45),
@chonghong char(2),
@ywy char (10),
@srq char (15),
@erq char (15)
---------------
全部改为 varchar
oneal3417 2010-07-24
  • 打赏
  • 举报
回复
晕!没有人能回答我吗?

22,298

社区成员

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

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