当前位置:网站首页>Mysql case when then函数使用
Mysql case when then函数使用
2022-06-12 22:19:00 【贝塔-突突】
一、概念
功能描述: 判断数据显示代表的含义(类似java if)
语法:
CASE [col_name] WHEN [value1] THEN [result1]…ELSE [default] END
二、实战
创建和数据
CREATE TABLE `user` (
`id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT 'id',
`account` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '账号',
`password` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '密码',
`status` bit(1) NULL DEFAULT NULL COMMENT '状态:1正常,0禁用',
`create_date` timestamp(0) NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '创建时间',
`update_date` timestamp(0) NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间'
)
INSERT INTO `user` VALUES (1, 'lanys', '123', b'1', '2022-06-10 11:03:34', '2022-06-10 11:03:34');
INSERT INTO `user` VALUES (2, 'Tom', '123', b'1', '2022-06-10 11:03:35', '2022-06-10 11:03:35');
INSERT INTO `user` VALUES (3, 'David', '111', b'0', '2022-06-10 11:03:38', '2022-06-10 11:03:38');
案例一
需求: 将数据表中账号信息状态用中文展示(状态:1 -> 正常, 0-> 禁用)。
实现效果:
语句:
SELECT id,account,PASSWORD,
( CASE STATUS WHEN 1 THEN '正常' WHEN 0 THEN '禁用' ELSE NULL END ) AS STATUS
FROM `user`
案例二
需求: 将表数据根据创建时间(create_date)排序统计做了什么(类似时间线)。
实现效果:
语句:
SELECT create_date,
CONCAT_WS(
',',
CONCAT( '创建账号account:', account ),
CONCAT( '密码password:', PASSWORD ),
CONCAT( '账号状态:', CASE STATUS WHEN 1 THEN '正常' WHEN 0 THEN '禁用' ELSE NULL END )
) AS line_info
FROM `user` ORDER BY create_date
边栏推荐
- Ansible summary (VI)
- 在同花顺开户安全么 ,证券开户怎么开户流程
- [proteus simulation] simple digital tube timer clock
- 2022-02-28 incluxdb high availability planning
- MySQL architecture and basic management (II)
- leetcodeSQL:574. Elected
- QT quick 3D learning: mouse picking up objects
- Dolphin-2.0.3 cluster deployment document
- List of open source alternative projects of world famous Cloud Service SaaS companies
- MySQL体系结构及基础管理(二)
猜你喜欢
SQL tuning guide notes 14:managing extended statistics
Ansible-大总结(六)
Producer consumer model under multithreading model
Ansible summary (VI)
接口测试工具apipost3.0版本对于流程测试和引用参数变量
Kotlin collaboration process - flow
IPhone: save Boolean into core data - iphone: save Boolean into core data
最近公共祖先问题你真的学会了吗?
Palindrome linked list and linked list intersection problem (intersecting with Xinyi people) do you really know?
Implementation of master-slave replication and master-master replication for MySQL and MariaDB databases
随机推荐
SQL query list all views in SQL Server 2005 database - SQL query to list all views in an SQL Server 2005 database
How to abstract a problem into a 0-1 knapsack problem in dynamic programming
SQL tuning guide notes 15:controlling the use of optimizer statistics
[Jianzhi offer simple] Jianzhi offer 06 Print linked list from end to end
Unity commonly used 3D mathematical calculation
【LeetCode】103. 二叉树的锯齿形层序遍历
Design a MySQL table for message queue to store message data
Ansible playbook和变量(二)
Database daily question --- day 10: combine two tables
MySQL体系结构及基础管理(二)
Open source background management system suitable for outsourcing projects
Qt Quick 3D学习:鼠标拾取物体
JVM foundation - > What garbage collectors does the JVM have?
The programmer dedicated to promoting VIM has left. Father of vim: I will dedicate version 9.0 to him
[C language] data type occupation
3.5 测试类的setup和teardown
【Proteus仿真】简易数码管定时器时钟
Es6+ new content
回文链表及链表相交问题(和心怡的人相交)你真的会了吗?
Xingda easy control modbustcp to profibusdp