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

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

以Mysql数据库为例。

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

from trn_res_courseware a

where 1 = 1 and

IF (vtitle is NULL, 0 = 0, atitle like CONCAT('%'+vtitle+'%'));

vtitle 是参数。

如果参数为空,则不执行(0=0永远成立),不为空,则执行 atitle 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等多种数据库连接途径。

不同的数据库对时间的表述格式不同,你也没交代用的什么数据库:

Access :DATEADD('second', 1, #2013-01-04#)

MS SQL:DATEADD(second, 1, '2013-01-04')

你的时间参数P0也要改成下面的样子:

qryNumberParametersParamByName('P0')Value := '#' + FormatDateTime('yyyy-mm-dd hh:nn:ss',time) + '#'

qryNumberParametersParamByName('P0')Value := '''' + FormatDateTime('yyyy-mm-dd hh:nn:ss',time) + ''''

从表面上看,很容易误解empty()函数是判断字符串是否为空的函数,其实并不是,我也因此吃了很多亏。

empty()函数是用来测试变量是否已经配置。若变量已存在、非空字符串或者非零,则返回 false 值;反之返回 true值。所以,当字符串的值为0时,也返回true,就是执行empty内部的语句。这就是陷阱。

如: 假设 $value = 0; 则empty($value)=false。

劝告各位,千万注意使用empty()函数。

判断字符串是否为空,可以这么判断: if ($value=="")

select from table where id is null

select from table where id = ''

2者不一样的

select SUM(pDRP) as '累计雨量'

from st_stbprp_b

where and '累计雨量'=''

where后面加条件就好了,看不出来你想做什么。

以上就是关于数据库中如何判断某参数为空就不执行where条件全部的内容,包括:数据库中如何判断某参数为空就不执行where条件、delphi里查询数据库结果是空的,实际应该有数据、数据库里查询数值是否为空的语句等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9342173.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存