sql存储过程判断参数为空的有关问题
sql存储过程判断参数为空的问题
存储过程如下:
create proc [dbo].aa
@u8dataBase NVARCHAR(50) --u8数据库
as
if @u8dataBase = ''
begin
set @u8dataBase = '为空'
print @u8dataBase +'1'
end
if @u8dataBase <> ''
begin
set @u8dataBase = '不为空'
print @u8dataBase +'2'
end
为什么我执行exec aa N'',输出的结果是
为空1
不为空2
应该结果是:为空1。才对啊!
求各位大神解惑!!小弟谢谢了
------解决方案--------------------
存储过程如下:
create proc [dbo].aa
@u8dataBase NVARCHAR(50) --u8数据库
as
if @u8dataBase = ''
begin
set @u8dataBase = '为空'
print @u8dataBase +'1'
end
if @u8dataBase <> ''
begin
set @u8dataBase = '不为空'
print @u8dataBase +'2'
end
为什么我执行exec aa N'',输出的结果是
为空1
不为空2
应该结果是:为空1。才对啊!
求各位大神解惑!!小弟谢谢了
------解决方案--------------------
ALTER proc [dbo].aa
@u8dataBase NVARCHAR(50) --u8数据库
as
if @u8dataBase = ''
begin
set @u8dataBase = '为空'
print @u8dataBase +'1'
end
ELSE if @u8dataBase <> ''
begin
set @u8dataBase = '不为空'
print @u8dataBase +'2'
end
go
exec aa N''
/*
为空1
*/