答案是肯定的。

MySQL查询中的if(cond,expr_true,expr_false)短路。

这里是一个使用@variables证明事实的测试:

SET @var:=5;

SELECT IF(1 = 0, (@var:=@var + 1), @var ); -- using ':=' operator to modify 'true' expr @var

SELECT IF(1 = 1, @var, (@var:=@var + 1) ); -- using ':=' operator to modify 'false' expr @var

SELECT @var;

所有三个select查询的结果都是“5”。

如果if()函数没有短路,则结果将是select 1中的“5”,select 2中的“6”,最后一个“select@var”中的“7”。

这是因为在select 1中从未执行“true”表达式,也不是为select 2执行的false表达式。

注意“:=”运算符用于在SQL查询(select、from和where子句)中修改@var。您可以从中获得一些非常奇特/复杂的SQL。我使用@vars在SQL查询中应用了“过程”逻辑。

--乔根森--

mysql 短路_MySQL是否对if()函数短路?相关推荐

  1. mysql or 短路_MySQL是否使IF()函数短路?

    答案是肯定的. mysql查询中的IF(cond,expr_true,expr_false)被短路. 这是一个测试,使用@variables来证明这一事实: SET @var:=5; SELECT I ...

  2. repeat mysql翻译_MySQL数据库中系统函数repeat有哪些功能呢?

    摘要: 下文讲述MySQL数据库中系统函数repeat的功能说明,如下所示: 系统函数repeat的功能: repeat函数的功能: 重复前面字符串指定次数 repeat语法: repeat(str, ...

  3. mysql 日期_Mysql数据库常见函数(下)——日期时间函数

    前两期我们分别学习了Mysql数据库中常见的字符函数和数值函数,那么本期我们一起来学习Mysql数据库中常见的日期时间函数. ADDDATE(d,n):计算起始日期 d 加上 n 天的日期 实例: S ...

  4. mysql数据库内置函数大全_MySQL数据库——内置函数

    MySQL数据库--内置函数 建表并插入数据 create table student( id char(36) primary key, name varchar(8) not null, age ...

  5. mysql常用内置函数_mysql常见内置函数

    在mysql中有许多内置的函数,虽然功能都能在PHP代码中实现,但巧妙的应用mysql内置函数可以大大的简化开发过程,提高效率. 在这里我总结一下一些常用的,方便以后查看: mysql字符串函数: c ...

  6. mysql的json函数与实例_Mysql实例详解Mysql中的JSON系列操作函数

    <Mysql实例详解Mysql中的JSON系列操作函数>要点: 本文介绍了Mysql实例详解Mysql中的JSON系列操作函数,希望对您有用.如果有疑问,可以联系我们. MYSQL必读前言 ...

  7. mysql trim 索引_mysql 强大的trim() 函数

    mysql中的去除左空格函数: LTRIM(str) Returns the string str with leading space characters removed. 以下是代码片段: 复制 ...

  8. mysql空值判断函数_MySQL中的ifnull()函数判断空值

    我们知道,在不同的数据库引擎中,内置函数的实现.命名都是存在差异的,如果经常切换使用这几个数据库引擎的话,很容易会将这些函数弄混淆. 比如说判断空值的函数,在Oracle中是NVL()函数.NVL2( ...

  9. benchmark如何测试mysql数据库_MySQL的benchmark函数

    MySQL实现了很多独特的函数,有时候使用起来是非常的方便,或许这就是开源的好处吧.这里记录一下benchmark函数,一个用于测试MySQL函数性能的函数.benchmark函数只有两个参数,第一个 ...

最新文章

  1. 利用Trigger完成WPF 的动画-渐显
  2. 4.3.3 IPv4地址
  3. sqlalchemy如何在查询时给一个常量加标签(label)
  4. oracle获取分组后的统计信息,并只要前五条
  5. stripe pay_J2Pay –完整示例
  6. ADO.NET、ODP.NET、Linq to SQL、ADO.NET Entity 、NHibernate在Oracle下的性能比较
  7. JDK源码(14)-Error、Exception
  8. 软件测试 学习之路 MYSQL安装
  9. 【codevs1078】最小生成树,prim算法
  10. 信天游机票电子行程单_4月1日起,取得火车票、飞机票等咋抵扣?权威解答来了...
  11. SVN文件上感叹号、加号、问号等图标的原因
  12. svn源代码变动后一分钟内启动执行?按照定好的时间点执行?(项目构建的触发)...
  13. 站在巨人的肩膀上学习Android开发
  14. python身份证系统_(二)Python GUI实战:身份证信息校验系统
  15. 计算机显示器屏幕什么也不显示,电脑显示器黑屏(显示屏不显示)四种解决方法...
  16. selenium+python基本知识
  17. openGL绘制矩形的顶点定义与矩形绘制
  18. 2020ICPC·小米 网络选拔赛第一场(Matrix Subtraction (二维差分))
  19. 电子传真文档怎样加盖印章
  20. 模拟退火算法及常见应用

热门文章

  1. python 长字符串 ,每行指定长度输出
  2. 小程序发送通知-可重复多次发送
  3. 〖Python自动化办公篇⑭〗- Excel 文件自动化 - 写入图表
  4. python常用字符串格式化_Python字符串格式化常用手段及注意事项
  5. 文学研究助手(设计性实验)
  6. 《人生的智慧》——人所展现的表象
  7. 爬虫入门(三):使用requests爬取搜狗搜索页面
  8. 原生JS实现无限滚动瀑布流布局
  9. 投票系统开发问题合集
  10. UCOSIII从官网(2021)下载