存储过程IF里面能执行where吗?

xylisten 2011-08-17 05:01:41
存储过程IF里面能执行where吗?

SELECT
M_HINBAN.HNBAN
,M_HINBAN.NENDO
,M_HINBAN.SEASON
,M_HINBAN.ITEM

FROM
M_HINBAN LEFT JOIN M_SHOHIN
ON M_HINBAN.HNBAN = M_SHOHIN.HNBAN

IF @NHBAN_F IS NOT NULL
AND @NHBAN_T IS NOT NULL

BEGIN

WHERE M_HINBAN.HNBAN > = @NHBAN_F
AND M_HINBAN.HNBAN < = @NHBAN_T

END


...全文
152 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xylisten 2011-08-17
  • 打赏
  • 举报
回复
怎么拼接
我想用if语句吧 符合条件的加上 where语句
不符合条件就滤过
  • 打赏
  • 举报
回复
定义字符串拼接也行呀
xylisten 2011-08-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 fredrickhu 的回复:]

判断条件需要写的话需要写成两个事务
[/Quote]
弱弱的问一下怎么写

用if判断条件

最后形成完整的sql语句
xylisten 2011-08-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 qianjin036a 的回复:]

你应该确认你那个begin end 块中要干什么,光是一个 where 子句并不能实现一个完整的操作,语法上也是错的。
[/Quote]
where语句接着上面的 from之后啊
xylisten 2011-08-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ssp2009 的回复:]

SQL code
SELECT
M_HINBAN.HNBAN
,M_HINBAN.NENDO
,M_HINBAN.SEASON
,M_HINBAN.ITEM
……
[/Quote]

我在想if中判断条件为空就跳过
执行之后的语句
最后形成一个完整的 sql语句
Spade_J 2011-08-17
  • 打赏
  • 举报
回复
这个要拼接
--小F-- 2011-08-17
  • 打赏
  • 举报
回复
判断条件需要写的话需要写成两个事务
-晴天 2011-08-17
  • 打赏
  • 举报
回复
你应该确认你那个begin end 块中要干什么,光是一个 where 子句并不能实现一个完整的操作,语法上也是错的。
快溜 2011-08-17
  • 打赏
  • 举报
回复
 SELECT 
M_HINBAN.HNBAN
,M_HINBAN.NENDO
,M_HINBAN.SEASON
,M_HINBAN.ITEM

FROM
M_HINBAN LEFT JOIN M_SHOHIN
ON M_HINBAN.HNBAN = M_SHOHIN.HNBAN

WHERE M_HINBAN.HNBAN > = isnull(@NHBAN_F,M_HINBAN.HNBAN)
AND M_HINBAN.HNBAN < = isnull(@NHBAN_T,M_HINBAN.HNBAN)

34,575

社区成员

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

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