惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Help Net Security
Help Net Security
G
Google Developers Blog
雷峰网
雷峰网
WordPress大学
WordPress大学
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Engineering at Meta
Engineering at Meta
Security Latest
Security Latest
T
Threat Research - Cisco Blogs
AWS News Blog
AWS News Blog
F
Full Disclosure
C
Cybersecurity and Infrastructure Security Agency CISA
T
The Exploit Database - CXSecurity.com
J
Java Code Geeks
U
Unit 42
C
Cyber Attacks, Cyber Crime and Cyber Security
V
V2EX
C
Cisco Blogs
博客园 - 司徒正美
Project Zero
Project Zero
L
LINUX DO - 热门话题
阮一峰的网络日志
阮一峰的网络日志
Blog — PlanetScale
Blog — PlanetScale
Scott Helme
Scott Helme
A
About on SuperTechFans
Hugging Face - Blog
Hugging Face - Blog
S
Securelist
小众软件
小众软件
aimingoo的专栏
aimingoo的专栏
S
Schneier on Security
G
GRAHAM CLULEY
酷 壳 – CoolShell
酷 壳 – CoolShell
Cyberwarzone
Cyberwarzone
MongoDB | Blog
MongoDB | Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 叶小钗
T
Threatpost
Recorded Future
Recorded Future
C
CXSECURITY Database RSS Feed - CXSecurity.com
宝玉的分享
宝玉的分享
N
News and Events Feed by Topic
人人都是产品经理
人人都是产品经理
The Register - Security
The Register - Security
S
Security Archives - TechRepublic
博客园 - Franky
N
News | PayPal Newsroom
Simon Willison's Weblog
Simon Willison's Weblog
S
SegmentFault 最新的问题
W
WeLiveSecurity
A
Arctic Wolf
B
Blog

博客园 - 枫之一刀

Rest的基本原则 常量 多表联接 join 连接类型的区分 OBJECT_ID(Transact-Sql) - 枫之一刀 逻辑查询处理 配置数据库对象的权限 object 类型 SqlServer 用户定义函数 IEnumerable接口 泛型概述 internal关键字 yield关键字 as 关键字 装箱拆箱 is 关键字 CSS圆角实现原理(个人见解) margin 值类型和引用类型区别 - 枫之一刀
三值逻辑 (Three-Valued Logic)
枫之一刀 · 2011-08-27 · via 博客园 - 枫之一刀

Posted on 2011-08-27 13:52  枫之一刀  阅读(1071)  评论()    收藏  举报

在SQL中逻辑表达式的可能值包括TRUE、FALSE和UNKNOWN。它们被称为三值逻辑。三值逻辑是SQL所特有的。大多数编程语言的逻辑表达式只有TRUE和FALSE两种值,SQL中的UNKNOWN逻辑值通常出现在包含NULL值的逻辑表达式中。NULL值通常表示丢失或者不相关的值。

UNKNOWN逻辑结果和NULL在不同的语言元素中被区别对待。例如,所有的查询筛选器(ON,WHERE和HAVING)都把UNKNOWN当作FALSE处理。是筛选器为UNKNOWN的行会被排除在结果集外。而CHECK约束中的UNKNOWN值被当作TRUE对待。假设表中包含一个CHECK约束,要求salary列的值必须大于0,向该表中插入salary为null的行时可以被接受的。因为(NULL >0)等于UNKNOWN,在CHECK约束中被视为TRUE一样。

在筛选器中比较两个NULL值将得到UNKNOWN,它会被当作FALSE处理,就好象其中一个NULL不等于另一个NULL。

而UNIQUE约束、排序操作和分组操作认为两个NULL值是相等的。