电脑死机原因大全
2010-01-12 16:51
393 查看
1、
使用指定的替换值替换 NULL。
ISNULL ( check_expression , replacement_value )
参数
check_expression
将被检查是否为 NULL 的表达式。check_expression 可以为任何类型。
replacement_value
当 check_expression 为 NULL 时要返回的表达式。replacement_value 必须是可以隐式转换为 check_expresssion 类型的类型。
T-SQL中的isnull与is null
T-SQL中,有时判断一个变量是否为NULL时,有人可能会用到函数ISNULL,如:
DECLARE @VAR1 VARCHAR(20)
DECLARE @VAR2 INT
IF ISNULL(@VAR1, '') = '' PRINT '@VAR1 is null.'
IF ISNULL(@VAR2, -1) = -1 PRINT '@VAR2 is null.'
这种用法其实是有问题的,再看:
DECLARE @VAR1 VARCHAR(20)
DECLARE @VAR2 INT
SET @VAR1 = ''
SET @VAR2 = -1
IF ISNULL(@VAR1, '') = '' PRINT '@VAR1 is null.'
IF ISNULL(@VAR2, -1) = -1 PRINT '@VAR2 is null.'
很显然,@VAR1和@VAR2均已赋值且不为NULL。
再看更特殊的情况:
DECLARE @VAR3 BIT
PRINT ISNULL(@VAR3, -1)
打印出来的值是1,而不是-1,这是因为:@VAR3的类型是BIT,其可能值只有三个:0、1或NULL,如果给其赋0和NULL之外的值(此处是-1),均被认为是1。
用ISNULL函数判断变量是否为NULL,在特定上下文的业务逻辑中有可能是正常运行的,如上述@VAR1永远不会为'',@VAR2永远不会为-1的情况;还有一种情况,以@VAR1为例,如果开发人员确实希望IF分支中的语句不仅在@VAR1是NULL的时候执行,而且当@VAR1的值是一个空字符串('')时也执行。
变量是否为NULL的判断应该使用IS NULL:
DECLARE @VAR1 VARCHAR(20)
DECLARE @VAR2 INT
DECLARE @VAR3 BIT
SET @VAR1 = ''
SET @VAR2 = -1
IF @VAR1 IS NULL PRINT '@VAR1 is null.' ELSE PRINT '@VAR1 is not null.'
IF @VAR2 IS NULL PRINT '@VAR1 is null.' ELSE PRINT '@VAR2 is not null.'
IF @VAR3 IS NULL PRINT '@VAR1 is null.' ELSE PRINT '@VAR3 is not null.'
IS NULL经常用于组成一个逻辑表达式出现在单个T-SQL语句的WHERE子句中,有些人在写存储过程时遇到控制流语句却不敢用了,而改用ISNULL函数,记之。
摘自:/article/4623874.html
使用指定的替换值替换 NULL。
ISNULL ( check_expression , replacement_value )
参数
check_expression
将被检查是否为 NULL 的表达式。check_expression 可以为任何类型。
replacement_value
当 check_expression 为 NULL 时要返回的表达式。replacement_value 必须是可以隐式转换为 check_expresssion 类型的类型。
T-SQL中的isnull与is null
T-SQL中,有时判断一个变量是否为NULL时,有人可能会用到函数ISNULL,如:
DECLARE @VAR1 VARCHAR(20)
DECLARE @VAR2 INT
IF ISNULL(@VAR1, '') = '' PRINT '@VAR1 is null.'
IF ISNULL(@VAR2, -1) = -1 PRINT '@VAR2 is null.'
这种用法其实是有问题的,再看:
DECLARE @VAR1 VARCHAR(20)
DECLARE @VAR2 INT
SET @VAR1 = ''
SET @VAR2 = -1
IF ISNULL(@VAR1, '') = '' PRINT '@VAR1 is null.'
IF ISNULL(@VAR2, -1) = -1 PRINT '@VAR2 is null.'
很显然,@VAR1和@VAR2均已赋值且不为NULL。
再看更特殊的情况:
DECLARE @VAR3 BIT
PRINT ISNULL(@VAR3, -1)
打印出来的值是1,而不是-1,这是因为:@VAR3的类型是BIT,其可能值只有三个:0、1或NULL,如果给其赋0和NULL之外的值(此处是-1),均被认为是1。
用ISNULL函数判断变量是否为NULL,在特定上下文的业务逻辑中有可能是正常运行的,如上述@VAR1永远不会为'',@VAR2永远不会为-1的情况;还有一种情况,以@VAR1为例,如果开发人员确实希望IF分支中的语句不仅在@VAR1是NULL的时候执行,而且当@VAR1的值是一个空字符串('')时也执行。
变量是否为NULL的判断应该使用IS NULL:
DECLARE @VAR1 VARCHAR(20)
DECLARE @VAR2 INT
DECLARE @VAR3 BIT
SET @VAR1 = ''
SET @VAR2 = -1
IF @VAR1 IS NULL PRINT '@VAR1 is null.' ELSE PRINT '@VAR1 is not null.'
IF @VAR2 IS NULL PRINT '@VAR1 is null.' ELSE PRINT '@VAR2 is not null.'
IF @VAR3 IS NULL PRINT '@VAR1 is null.' ELSE PRINT '@VAR3 is not null.'
IS NULL经常用于组成一个逻辑表达式出现在单个T-SQL语句的WHERE子句中,有些人在写存储过程时遇到控制流语句却不敢用了,而改用ISNULL函数,记之。
摘自:/article/4623874.html
相关文章推荐
- 电脑“死机”现象原因大全(转载)
- 笔记本电脑死机原因大全
- 电脑死机的原因
- 电脑无故死机的可能原因……
- 电脑经常死机的原因与故障处理分析
- win7电脑看电影会出现卡屏死机是什么原因如何解决
- 电脑启动时死机的若干可能原因
- eclipse中打开xml文件时电脑象死机一样(代理服务器的原因)
- 电脑经常死机的原因与故障处理分析
- [转] 电脑无故死机原因很多……
- 常见电脑"蓝屏"死机原因
- 电脑经常死机的原因
- 电脑死机的各种硬件和软件原因解析
- 电脑“蓝屏”“定格”原因之大全
- 电脑总是无故自动关机、自动重启和死机原因
- 电脑经常死机的原因
- 电脑经常黑屏死机是什么原因?
- 电脑频繁死机的原因
- 意想不到黑屏和死机原因----电脑黑屏启动不了或经常死机可以参考
- 提高CPU频率导致死机原因分析