sql模糊查询条件问题

hgqxz 2008-01-15 12:31:42
我要按 Name ,TANO ,Fdate ,Edate做模糊查询
请问这个where怎么写啊.我写的老是查不出我想要的结果
下面上是我写的存储过程
CREATE Procedure Plant_FIN_TA_GetViewByTANO(
@TANO nvarchar(50),
@User nvarchar(50),
@Fdate nvarchar(50),
@Edate nvarchar(50)
)
as
select AppDate, Name,Data,User,Status,TANO,Department,Amount from worklist
where
Name like '%'+@User+'%'
or TANO like '%'+@TANO +'%'
and (AppDate>=@Fdate and AppDate<=@Edate)
...全文
93 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
pt1314917 2008-01-15
  • 打赏
  • 举报
回复

CREATE Procedure Plant_FIN_TA_GetViewByTANO
@TANO nvarchar(50),
@User nvarchar(50),
@Fdate nvarchar(50),
@Edate nvarchar(50)
as
exec('select AppDate,Name,Data,User,Status,TANO,Department,Amount from worklist
where (Name like ''%'+@User+'%'' or TANO like ''%'+ @TANO + '%'')
and AppDate between '+ @Fdate +' and '+ @Edate)
tim_spac 2008-01-15
  • 打赏
  • 举报
回复
增加Null容错
CREATE Procedure Plant_FIN_TA_GetViewByTANO ( 
@TANO nvarchar(50)
,@User nvarchar(50)
,@Fdate nvarchar(50)
,@Edate nvarchar(50)
) as
select
AppDate
,Name
,Data
,User
,Status
,TANO
,Department
,Amount
from worklist
where 1=1
and (isnull(@User,'') = '' or Name like '%'+@User+'%')
and (isnull(@TANO,'') = '' or TANO like '%'+@TANO+'%')
and (isnull(@Fdate,'') = '' or AppDate >= @Fdate)
and (isnull(@Edate,'') = '' or AppDate <= @Edate)
-狙击手- 2008-01-15
  • 打赏
  • 举报
回复
CREATE         Procedure   Plant_FIN_TA_GetViewByTANO( 
@TANO nvarchar(50),
@User nvarchar(50),
@Fdate nvarchar(50),
@Edate nvarchar(50)
)
as
exec('select AppDate, Name,Data,User,Status,TANO,Department,Amount from worklist
where
Name like ''%'+@User+'%''
or TANO like ''%'+@TANO +'%''
and AppDate between '''+@Fdate +''' and '''+ @Edate+'''')

go
tim_spac 2008-01-15
  • 打赏
  • 举报
回复
CREATE Procedure Plant_FIN_TA_GetViewByTANO(
@TANO nvarchar(50),
@User nvarchar(50),
@Fdate nvarchar(50),
@Edate nvarchar(50)
)
as
select
AppDate
,Name
,Data
,User
,Status
,TANO
,Department
,Amount
from worklist
where 1=1
and (@User = '' or Name like '%'+@User+'%')
and (@TANO = '' or TANO like '%'+@TANO+'%')
and (@Fdate = '' or AppDate >= @Fdate)
and (@Edate = '' or AppDate <= @Edate)

-狙击手- 2008-01-15
  • 打赏
  • 举报
回复
CREATE         Procedure   Plant_FIN_TA_GetViewByTANO( 
@TANO nvarchar(50),
@User nvarchar(50),
@Fdate nvarchar(50),
@Edate nvarchar(50)
)
as
exec('select AppDate, Name,Data,User,Status,TANO,Department,Amount from worklist
where
Name like ''%'''+@User+'''%''
or TANO like ''%'''+@TANO +'''%''
and AppDate between '''+@Fdate +''' and '''+ @Edate+'''')

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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