【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'
相关推荐
万事大吉CC41 分钟前
SQL语法基础教程
数据库·oracle
betazhou1 小时前
Oracle dgbroker常规命令管理简介
数据库·oracle·adg·dbbroker
海边夕阳20061 小时前
PostgreSQL性能调优:解决表膨胀、索引碎片和无效索引问题
数据库·经验分享·postgresql·性能优化
IT教程资源C1 小时前
(N_083)基于springboot毕业设计管理系统
mysql·springboot毕业管理
一 乐2 小时前
个人理财系统|基于java+小程序+APP的个人理财系统设计与实现(源码+数据库+文档)
java·前端·数据库·vue.js·后端·小程序
m0_748248022 小时前
Redis的数据淘汰策略解读
数据库·redis·缓存
哥哥还在IT中2 小时前
让数据库更智能-大模型如何优化我们的SQL查询
数据库·sql
计算机小手2 小时前
探索 Maxwell:高效捕获 MySQL 数据变更的轻量级中间件
数据库·经验分享·mysql·开源软件
IvorySQL2 小时前
使用 PostgreSQL 时间点恢复(Point-In-Time Recovery)的多种数据恢复技术
数据库·postgresql
腾讯云云开发3 小时前
小程序数据库权限管理,一看就会!——CloudBase新手指南
前端·数据库·微信小程序