mysql case when 多参数条件语法

下面的 sql 语句是要将 status 列根据一个条件或者多条件转换为对应的值. 其中要注意 case 关键字后面不能带上列名 status 而是直接跟上 when 关键词, 不然会导致转换无效.

SELECT id, case
WHEN cast(`status` AS SIGNED) < 45 THEN '1'
WHEN cast(`status` AS SIGNED) > 44 AND vacant_time IS NOT NULL AND vacant_time != '' THEN '3'
WHEN cast(`status` AS SIGNED) > 44 AND move_date IS NOT NULL AND move_date != '' THEN '2'
WHEN cast(`status` AS SIGNED) > 44 THEN '4'
ELSE '99'
END AS `status`
FROM t_household WHERE  del_flag = '0';

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏测试开发架构之路

MySQL/Oracle索引的创建与使用

MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。

9720
来自专栏java初学

数据库索引

448170
来自专栏ml

mysql的小知识点(关于数据库的导入导出 对于windows)

      对于,一个存在的数据,我们该如何去打包成.sql属性的文件呢?       直接进行这两条语句: 1 D:\Program Files\MySQL\...

51880
来自专栏WindCoder

MySQL中INSERT INTO SELECT的应用

这种方法常用在目标表已经存在数据库中.需要从源表把数据插入到目标表的情况.如果目标表和源表的列相同,就不必列出数据列了.(未完待续,另参考资料中重复项太多,暂且...

1.4K10
来自专栏开源项目

Git 项目推荐 | 分布式系统唯一 ID 生成方法

image.png 在工程中引用sequence项目的sequence-client jar包 在的应用数据库中创建两个sequence表,sql语句如下:...

340110
来自专栏文渊之博

优化SQLServer--表和索引的分区(二)

简介     之前一篇简单的介绍了语法和一些基本的概念,隔了一段时间,觉得有必要细致的通过实例来总结一下这部分内容。如之前所说,分区就是讲大型的对象(表)分成更...

18960
来自专栏抠抠空间

MySQL 如何删除有外键约束的表数据

今天删除数据库中数据,提示因为设置了foreign key,无法修改删除 可以通过设置FOREIGN_KEY_CHECKS变量来避免这种情况。

22030
来自专栏码农二狗

mysql无符号整型溢出

15340
来自专栏Netkiller

数据库安全·用户/角色认证

以下节选择《Netkiller Architect 手札》 地址 http://www.netkiller.cn/architect/ 接下来几周的话题是数据库...

36350
来自专栏数据和云

运维技巧 - 活用临时表隔离冷热数据

编辑手记:Oracle给了我们很多工具,在日常数据库管理中活用这些工具方可发挥最大效能。 作者简介: 张洪涛 富士康 DBA 在数据库监控过程中发现考勤数据...

43350

扫码关注云+社区

领取腾讯云代金券