- 1、本文档共45页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作符优先级
操作符优先级
以下列表显示了操作符优先级的由低到高的顺序。排列在同一行的操作符具有相同的优先级。
:=
||, OR, XOR
, AND
NOT
BETWEEN, CASE, WHEN, THEN, ELSE
=, =, =, , =, , , !=, IS, LIKE, REGEXP, IN
|
,
-, +
*, /, DIV, %, MOD
^
- (一元减号), ~ (一元比特反转)
!
BINARY, COLLATE
注释:假如 HIGH_NOT_PRECEDENCE SQL 模式被激活,则 NOT 的优先级同 the !操作符相同。
比较函数和操作符
比较运算产生的结果为1(TRUE)、0 (FALSE)或 NULL。这些运算可用于数字和字符串。根据需要,字符串可自动转换为数字,而数字也可自动转换为字符串。
本章中的一些函数 (如LEAST()和GREATEST())的所得值不包括 1 (TRUE)、 0 (FALSE)和 NULL。然而,其所得值乃是基于按照下述规则运行的比较运算:
MySQL 按照以下规则进行数值比较:
• 若有一个或两个参数为 NULL,除非NULL-safe =等算符,则比较运算的结果为NULL。
• 若同一个比较运算中的两个参数都是字符串,则按照字符串进行比较。
• 若两个参数均为整数,则按照整数进行比较。
• 十六进制值在不需要作为数字进行比较时,则按照二进制字符串进行处理。
• 假如参数中的一个为 TIMESTAMP 或 DATETIME 列,而其它参数均为常数, 则在进行比较前将常数转为 timestamp。这样做的目的是为了使ODBC 的
进行更加顺利。 注意,这不适合IN()中的参数!为了更加可靠,在进行对比时通常使用完整的 datetime/date/time 字符串。
• 在其它情况下,参数作为浮点数进行比较。
在默认状态下,字符串比较不区分大小写,并使用现有字符集(默认为cp1252 Latin1,同时对英语也适合)。
为了进行比较,可使用CAST()函数将某个值转为另外一种类型。 使用CONVERT()将字符串值转为不同的字符集。
=
NULL-safe equal.这个操作符和=操作符执行相同的比较操作,不过在两个操作码均为NULL 时,其所得值为1而不为NULL,而当一个操作码为NULL 时,其
所得值为0而不为NULL。
mysql SELECT 1 = 1, NULL = NULL, 1 = NULL;
- 1, 1, 0
IS boolean_value IS NOT boolean_value
根据一个布尔值来检验一个值,在这里,布尔值可以是TRUE、FALSE 或UNKNOWN。
mysql SELECT 1 IS TRUE, 0 IS FALSE, NULL IS UNKNOWN;
- 1, 1, 1
IS NULL IS NOT NULL
检验一个值是否为 NULL。
mysql SELECT 1 IS NULL, 0 IS NULL, NULL IS NULL;
- 0, 0, 1
mysql SELECT 1 IS NOT NULL, 0 IS NOT NULL, NULL IS NOT NULL;
- 1, 1, 0
expr BETWEEN min AND max
假如expr大于或等于min 且expr 小于或等于max,则BETWEEN 的返回值为1,或是0。若所有参数都是同一类型,则上述关系相当于表达式 (min = expr
AND expr = max)。其它类型的转换根据本章开篇所述规律进行,且适用于3种参数中任意一种。
expr NOT BETWEEN min AND max
这相当于NOT(expr BETWEEN min AND max)。
COALESCE(value,...)
返回值为列表当中的第一个非 NULL 值,在没有非NULL 值得情况下返回值为 NULL。
GREATEST(value1,value2,...)
当有2或多个参数时,返回值为最大(最大值的)参数。比较参数所依据的规律同LEAST()相同。在没有自变量为NULL 的情况下,GREATEST()的返回值为NULL。
expr IN(value,...)
若expr 为IN 列表中的任意一个值,则其返回值为 1 ,否则返回值为0。假如所有的值都是常数,则其计算和分类根据 expr 的类型进行。这时,使用二分搜
索来搜索信息。如IN 值列表全部由常
文档评论(0)