数据库中如何判断某参数为空就不执行where条件

2024-11-16 22:28:30
推荐回答(4个)
回答(1):

以Mysql数据库为例。

在存储过程中使用判断一个参数,例参数为vtitleSelect a.*

from trn_res_courseware a

where 1 = 1 and

IF (vtitle is NULL, 0 = 0, a.title like CONCAT('%'+vtitle+'%'));

vtitle 是参数。

如果参数为空,则不执行(0=0永远成立),不为空,则执行 a.title like CONCAT('%'+vtitle+'%')) 查询条件。

扩展资料:

系统特性:

1、mySQL使用 C和 C++编写,并使用了多种编译器进行测试,保证了源代码的可移植性。

2、支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统。

3、为多种编程语言提供了 API。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby,.NET和 Tcl 等。

4、支持多线程,充分利用 CPU 资源。

5、优化的 SQL查询算法,有效地提高查询速度。

6、既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。

参考资料来源:百度百科-mySQL

7.提供多语言支持,常见的编码如中文的 GB 2312、BIG5,日文的 Shift_JIS等都可以用作数据表名和数据列名。

8.提供 TCP/IP、ODBC 和 JDBC等多种数据库连接途径。



回答(2):

看你使用的什么数据库了。而且问题好像没描述清楚。
如果是在数据库中判断参数,是在存储过程过程自定义function中么?数据库里面普通的SQL没法传递参数的。
以Mysql数据库为例。
在存储过程中使用判断一个参数,例参数为vtitle

Select a.*
from trn_res_courseware a
where 1 = 1 and
IF (vtitle is NULL, 0 = 0, a.title like CONCAT('%'+vtitle+'%'));

vtitle 是参数。
如果参数为空,则不执行(0=0永远成立),
不为空,则执行 a.title like CONCAT('%'+vtitle+'%')) 查询条件。

回答(3):

$error=“”;
if(empty(变量1)){
$error="请输入";
}
if(empty($error)){
执行where语句
}

回答(4):

是oralce吗?
是在写存储过程中出现的问题吗?