Sql语句中如何判断空字符串?

spring0906 2009-03-13 03:41:50
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中情况啊?
...全文
5069 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zejyu 2009-03-16
  • 打赏
  • 举报
回复
...
IF isnull(@name,'')<>'' SET @sql=@sql+' AND E_name LIKE ''%'+@name+'%'' '
IF isnull(@did,'')<>'' SET @sql=@sql+' AND E_Did ='+@did
IF isnull(@work,'')<>'' SET @sql=@sql+' AND E_work LIKE ''%'+@work+'%'' '
IF isnull(@rid,'')<>'' SET @sql=@sql+' AND E_Rid ='+@rid
...
ai_li7758521 2009-03-13
  • 打赏
  • 举报
回复

if @name is null
begin
...
end
else if @name=''
begin
...
end
else
begin
....
end
ks_reny 2009-03-13
  • 打赏
  • 举报
回复

where A is null 當A為null時
where A='' 當A為空時
where A='某個值' 當A有值時
百年树人 2009-03-13
  • 打赏
  • 举报
回复
--3,有值 
where len(col)>0
百年树人 2009-03-13
  • 打赏
  • 举报
回复
[Quote=引用楼主 spring0906 的帖子:]
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=@sq…
[/Quote]

--1,null 
where col is null
--2,“”(空字符串)
where len(col)=0
--3,有值
where col is not null

?
SmileShark 2009-03-13
  • 打赏
  • 举报
回复
if @name=' '
begin
end
就可以了吧
dawugui 2009-03-13
  • 打赏
  • 举报
回复
没看懂.帮顶.

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧