【mysql】数据处理格式化、转换、判断

数据处理

  • 判断是否超时,时间是否大于当前时间
  • 计算分钟数
  • 时间格式化处理
  • 如果数值类型进行转换字符类型
  • 字符拼接
  • case-when代替if-else
  • 判断数据空(特殊:含空数据、空字符处理)
sql 复制代码
select 
/*判断是否超时,时间是否大于当前时间*/
case when cc.OVERTIME > NOW() then '1' else '0' end as is_timeout,
/*计算分钟数*/
TIMESTAMPDIFF(MINUTE, cc.CREATE_TIME,cc.ARCHIVE_DATE) AS FLOW_TIME,
/*CASE处理字段为空或者空字符默认-1,其他等于原始值*/
CASE WHEN TPP.FLAG IS NULL THEN '-1' WHEN LENGTH(TPP.FLAG )=0 THEN '-1' ELSE TPP.FLAG END AS SHEET_TYPE,
/*CASE多个类型判断1 */
CASE cc.P_STATE when '70010004' or '70010006' then '1' ELSE '0' END as SHEET_STATUS,
/*CASE多个类型转换2 */
CASE cc.cont_level WHEN '一级' THEN '1' WHEN '二级' THEN '2' ELSE '3' END as sms_level,
/*如果为空默认填充-1;如果数值类型进行转换字符类型*/
IFNULL(CAST(cc.CONTENT AS CHAR),'-1') as cmplnt_desc,
/*时间格式化处理*/
DATE_FORMAT(ftr.SIGN_DATE,'%Y%m%d')  as sent_date,
from table_name cc
WHERE 1=1
and cc.CREATE_DATE BETWEEN '2023-12-24 00:00:00' and '2023-12-26 00:00:00'
相关推荐
宁小法6 分钟前
SQL查询对比: select exists($sql) 跟 select * from `users` where `id` = 60000001的区别差异
数据库·sql·select exists
语落心生9 分钟前
Flink 到 Doris 数据同步----从二阶段提交到幂等性 StreamLoader 的演进之路
数据库
程序员阿鹏9 分钟前
事务与 ACID 及失效场景
java·开发语言·数据库
CC.GG44 分钟前
【Qt】常用控件----QWidget属性
java·数据库·qt
忍冬行者1 小时前
kubeadm安装的k8s集群涉及etcd数据库的参数优化
数据库·kubernetes·etcd
大猫和小黄1 小时前
若依微服务Cloud中Quartz-Job模块适配OpenGauss数据库
数据库·微服务·opengauss·quartz·定时任务·若依·job
悟空码字1 小时前
MySQL分库分表,从“一室一厅”到“豪华别墅区”的数据库升级之旅
java·后端·mysql
奔跑的小十一1 小时前
ShardingSphere-JDBC 开发手册
java·数据库
lkbhua莱克瓦241 小时前
基础-MySQL概述
java·开发语言·数据库·笔记·mysql
姓蔡小朋友1 小时前
MySQL增删查改、多表查询
数据库·mysql