加入收藏 | 设为首页 | 会员中心 | 我要投稿 拼字网 - 核心网 (https://www.hexinwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

如何在mysql的case语句中使用比较运算符

发布时间:2021-03-05 03:28:41 所属栏目:MySql教程 来源:网络整理
导读:这是我的表数据. id days-----------1 10 203 304 255 5 我想要结果 id days resultcolumn1 10 less than 102 20 less than 203 30 less than 304 25 less than 305 5 less than 10 我用过查询 SELECT id,days,CASE days WHEN days 但我得到了结果数据 id da

这是我的表数据….

id  days
-----------
1   10
    20
3   30
4   25
5   5

我想要结果

id  days    resultcolumn
1    10   less than 10
2    20   less than 20
3    30   less than 30
4    25   less than 30
5    5    less than 10

我用过查询

SELECT id,days,CASE days 
    WHEN days<=10 THEN 'less than 10'
    WHEN days<=20 THEN 'less than 20'
    WHEN days<=30 THEN 'less than 30'
  END AS 'days2'
FROM calender

但我得到了结果数据

id  days    resultcolumn
1   10    {null}
2    20   {null}
3    30   {null}
4    25   {null}
5    5    {null}

如何在mysql中使用case语句获取原始结果? 最佳答案 你可以不用CASE …… WHEN构造.只需使用简单的数学.

SELECT *,CONCAT('less than ',CEIL(`days`/10)*10) AS `resultcolumn` 
FROM `Table1`

sqlfiddle

这可以防止Branch predication失败.因此它将是faster for large data set.

(编辑:拼字网 - 核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!