亲爱的所有我试图使用where语句与where子句, 如图所示,
select
Col1
from
Table
where
Col2 between ( case when Col2 ='' or col2 is null then '%' else 'Userinputmin' end)
and
( case when Col2 ='' or col2 is null then '%' else 'Userinputmax' end)
如果用户在col2中输入一个字符值,那么它将从其最大值和最小值中过滤掉,如果用户没有输入任何值,那么我想使用所有值。 感谢您的任何帮助。 问候。
答案 0 :(得分:0)
隐含@min和@max是参数
IF @min IS NOT NULL AND @max IS NOT NULL
SELECT * FROM Tbl WHERE col BETWEEN @min AND @max
ELSE
SELECT * FROM Tbl
由于您是在aspx页面中执行此操作,因此如果您将其放在“后台代码”页面中,这样的内容可能会起作用。
if (min != null && max != null)
{
sqlcmd.CommandText = "SELECT * FROM Tbl WHERE col BETWEEN " + min + " AND " + max
}
else
{
sqlcmd.Commandtext = "SELECT * FROM Tbl"
}
答案 1 :(得分:0)
试试这个
select
Col1
from
Table
where
(Col2 between 'Userinputmin' AND 'Userinputmax') OR (Col2 Like 'Userinputmin%') OR (Col2 Like 'Userinputmax%')