输入为空时可以更改select子句吗?

时间:2014-12-17 17:00:21

标签: sql select where where-clause

我想在名为ALBARANES的表中进行选择,它会向我展示所有内容 表的列。此选择具有输入值以执行where子句。

输入: @serie,@ client

我想要的是:如果@ serie的值为null,则显示ALBARANES.SERIE列值的所有列,但如果@serie的值不为null,则使用它执行子句。

SELECT * FROM ALBARANES AC 
WHERE 
AC.SERIE = @serie/*Code when @serie has value not null*/
AC.FECHA < (SELECT CAST ('Now' as date) from RDB$DATABASE) 

与输入@client相同。 如何实施此选择?

1 个答案:

答案 0 :(得分:1)

你想:

WHERE (AC.SERIE = @serie or @serie is null) and
      ac.fecha < date(now())

您的问题标记为MySQL。但是,你的日期逻辑不是MySQL,所以我改了它。如果您的问题有误,那么您可能需要原始逻辑。