Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 缺少Tsql空值_Sql Server_Tsql_Null_Uniqueidentifier - Fatal编程技术网

Sql server 缺少Tsql空值

Sql server 缺少Tsql空值,sql-server,tsql,null,uniqueidentifier,Sql Server,Tsql,Null,Uniqueidentifier,当我运行下面的脚本时,我在第一个查询中得到空值,但在第二个查询中没有。如何在排除这一个uniqueidentifier值的同时,在第二个查询中仍然包含Null值 drop table program_field create table program_field (p uniqueidentifier ) insert program_field values ('10C8BCA5-011C-48B9-BF46-03B88EBF5005'), ('16BD98AA-2323-4619-8

当我运行下面的脚本时,我在第一个查询中得到空值,但在第二个查询中没有。如何在排除这一个uniqueidentifier值的同时,在第二个查询中仍然包含Null值

drop table program_field

create table program_field
(p  uniqueidentifier
)

insert program_field values ('10C8BCA5-011C-48B9-BF46-03B88EBF5005'),
('16BD98AA-2323-4619-8BAF-0C19F90642FF'),
(Null)

select  p from program_field
select  p from program_field where p <> '10C8BCA5-011C-48B9-BF46-03B88EBF5005'
drop table program\u字段
“创建表程序”字段
(p)唯一标识符
)
插入程序字段值('10C8BCA5-011C-48B9-BF46-03B88EBF5005'),
('16BD98AA-2323-4619-8BAF-0C19F90642FF'),
(空)
从program_字段中选择p
从p'10C8BCA5-011C-48B9-BF46-03B88EBF5005'的程序_字段中选择p
从p'10C8BCA5-011C-48B9-BF46-03B88EBF5005'或p为空的程序_字段中选择p
从p'10C8BCA5-011C-48B9-BF46-03B88EBF5005'或p为空的程序_字段中选择p
您可以这样做

select  p from program_field where coalesce(p,'') <> '10C8BCA5-011C-48B9-BF46-03B88EBF5005'
从程序_字段中选择p,其中聚结(p),'10C8BCA5-011C-48B9-BF46-03B88EBF5005'
您可以这样做

select  p from program_field where coalesce(p,'') <> '10C8BCA5-011C-48B9-BF46-03B88EBF5005'
从程序_字段中选择p,其中聚结(p),'10C8BCA5-011C-48B9-BF46-03B88EBF5005'

您需要将
where子句中的
IS NULL
IS NOT NULL
表达式与
NULL
值进行比较,例如:


p'10C8BCA5-011C-48B9-BF46-03B88EBF5005'或p为空

您需要
为空
不为空
where子句中的表达式
值进行比较,如:


p'10C8BCA5-011C-48B9-BF46-03B88EBF5005'或p为空

这将给出转换错误。无法将空字符串强制转换为唯一标识符。您可以用COALESCE替换ISNULL以使其正常工作。@AnupAgrawal:Oops!没有完全阅读问题。现在更新@按摩师:谢谢你,伙计!这将导致转换错误。无法将空字符串强制转换为唯一标识符。您可以用COALESCE替换ISNULL以使其正常工作。@AnupAgrawal:Oops!没有完全阅读问题。现在更新@按摩师:谢谢你,伙计!NULL“10C8BCA5-011C-48B9-BF46-03B88EBF5005”是错误的语句,因此您的第二次查询不会返回它。空值不小于、大于或等于任何值。这就是为什么您需要对已提供的答案中描述的空条件进行单独比较的原因。空“10C8BCA5-011C-48B9-BF46-03B88EBF5005”是错误的陈述,因此您的第二次查询不会返回它。空值不小于、大于或等于任何值。这就是为什么您需要对空条件进行单独的比较,如已经提供的答案中所述。