注册 登录
编程论坛 SQL Server论坛

@id的值应该是多少

Vitamin1999 发布于 2009-09-27 14:32, 1202 次点击
declare @id varchar(1)
print case
    when @id = null then '11'
    when @id = '' then '22'
    when @id = ' 'then '33'
    else '44'
    end
没有给@ID赋值的情况下   得出的结论是 44
也就是说不赋值的情况下不隶属上面任何的一个值    那么@id到底是多少呢
10 回复
#2
Vitamin19992009-09-27 15:18
补充上面的问题
declare @id varchar(20)
print isnull(@id,'jdvvv')   ---------------------1
print case                  ---------------------2
    when @id = null then '11'
    when @id = '' then '22'
    when @id = ' 'then '33'
    else '44'
    end
注解:isnull(a,b)------------------>意思是当a为null时,返回值为b,不是空的时候,返回值为a
打印结果:
1打印出来的是 jdvvv
2打印出来的是 44
那么   这个@id 在不赋值的情况下   到底是不是个null
#3
Vitamin19992009-10-11 17:41
这个问题很恶心么   为什么这么多天都没人回答
#4
gdy03492009-10-11 17:58
因为你给的分数太少了,一般人都不愿回答,现在的人啊,有点自私
#5
Vitamin19992009-10-11 18:06
我才注册的号呀   没多少分    前几个帖子还用去了不少
#6
wzs5491710652009-10-11 20:00
有点悬啊?
 
#7
Vitamin19992009-10-13 10:26
哪里悬
#8
msgj2009-10-13 14:04
when @id = null then '11' 真的是'11'吗?既然是空性就应该是'44'
#9
makebest2009-10-13 21:27
@id = null 这样的用法是不正确的, 应该这样用 @id is null.
#10
Vitamin19992009-10-14 10:33
回复 9楼 makebest
你说的对    不能用 = ,得用 is  你真厉害   大侠~~
#11
bdx8082009-10-16 17:36
学习了
1