MySQL多表达式的if语句
P粉748218846
P粉748218846 2023-09-19 16:06:52
[MySQL讨论组]

我想在select语句中的if语句中执行多个表达式,如下所示:

SELECT 
  t.id,
  IF (
    id > 10,
    @var1 := t.id; @var2 := t.title,
    t.title
  )
FROM
  table

有没有办法在一个if语句中执行这两个表达式@var1 := t.id; @var2 := t.title

P粉748218846
P粉748218846

全部回复(1)
P粉674876385

你可以这样做

SELECT
  t.id,
  IF (
    id > 10,
    CONCAT(@var1 := t.id , @var2 := t.title),

    t.title
  )
FROM
  table1 t;
SELECT @var2;
SELECT @var1;

但是用户定义的变量是标量值,所以你只能得到@var1和@var2被选中的最后一个值,但是它现在不会显示连接后的值。

所以总的来说,如果你有多行数据,这并没有真正的意义。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号