Sql语句中如何判断空字符串?
Sql语句中如何判断空字符串?
我的存储过程是这样:
CREATE PROCEDURE employees_select_SQL_proc
@name nvarchar(20),
@did nvarchar(3),
@work nvarchar(10),
@rid nvarchar(3)
AS
DECLARE @sql nvarchar(1000)
SET @sql='SELECT * FROM employees WHERE 1=1'
IF(@name IS NOT NULL)
BEGIN
SET @sql=@sql+' AND E_name LIKE ''%'+@name+'%'' '
END
IF(@did IS NOT NULL)
BEGIN
SET @sql=@sql+' AND E_Did ='+@did
END
IF(@work IS NOT NULL)
BEGIN
SET @sql=@sql+' AND E_work LIKE ''%'+@work+'%'' '
END
IF(@rid IS NOT NULL)
BEGIN
SET @sql=@sql+' AND E_Rid ='+@rid
END
EXEC(@sql)
GO
当我在页面调用这个存储过程的时候,每个参数有3中情况:
1,null
2,“”(空字符串)
3,有值
我只判断了第一种,在存储过程中怎么判断这3中情况啊?
我的存储过程是这样:
CREATE PROCEDURE employees_select_SQL_proc
@name nvarchar(20),
@did nvarchar(3),
@work nvarchar(10),
@rid nvarchar(3)
AS
DECLARE @sql nvarchar(1000)
SET @sql='SELECT * FROM employees WHERE 1=1'
IF(@name IS NOT NULL)
BEGIN
SET @sql=@sql+' AND E_name LIKE ''%'+@name+'%'' '
END
IF(@did IS NOT NULL)
BEGIN
SET @sql=@sql+' AND E_Did ='+@did
END
IF(@work IS NOT NULL)
BEGIN
SET @sql=@sql+' AND E_work LIKE ''%'+@work+'%'' '
END
IF(@rid IS NOT NULL)
BEGIN
SET @sql=@sql+' AND E_Rid ='+@rid
END
EXEC(@sql)
GO
当我在页面调用这个存储过程的时候,每个参数有3中情况:
1,null
2,“”(空字符串)
3,有值
我只判断了第一种,在存储过程中怎么判断这3中情况啊?
...全文
相关推荐
SQL语句拼接
`是否非空且不为空字符串来决定是否添加相应的条件到SQL语句中。
通过Java正则表达式去掉SQL代码中回车换行和多余空格
.+` 来判断一条SQL语句是否包含LIMIT关键字及其参数,以此判断是否为分页SQL。
sql中判断某列是否为数字.docx
,因为如果设置为空字符串,那么`TRANSLATE`将会返回空字符串,这无法达到我们的目的。
sql注入天书
在判断数据库类型时,我们可以使用不同的方法来判断数据库类型,例如:* 使用错误信息来判断数据库类型* 使用 SQL 语句来判断数据库类型* 使用其他方法来判断数据库类型在下一篇文章中,我们将继续讨论SQL
sql server字符串非空判断实现方法
本文将深入探讨如何在SQL Server中实现字符串非空判断,并提供一些实用的方法。1.


疑难问题
