数据库中存储的是时间,如何快速筛选某一天的数据
| created_date |
|---|
| 2024-10-11 19:47:55 |
| 2024-10-11 19:47:55 |
| 2024-10-11 19:47:55 |
| 2024-10-11 19:48:55 |
如何查询 2024-10-11 的数据
select created_date,SUBSTRING(created_date, 1, 10)
from vxlink_registration_server.tc_case_transaction tct
where SUBSTRING(created_date, 1, 10) = '2024-10-11';
这种字符串还能用于范围查询,大于、小于都可以。
mysql排序null值排在最后
在MySQL中,可以使用ORDER BY语句结合IS NULL来实现将NULL值排在后面的排序。具体做法是,在ORDER BY子句中使用IS NULL函数,并为其赋予一个较大的排序值,确保NULL值被排序在非NULL值之后。
SELECT * FROM your_table ORDER BY (your_column IS NULL), your_column ASC;
查询某个字段包含空格、首尾包含空格
from vxlink_channel.dm_collection_agency dca where collection_agency_name like '% %' and is_deleted = 0;
select * from vxlink_channel.dm_collection_agency dca WHERE TRIM(BOTH ' ' FROM collection_agency_name) != collection_agency_name and is_deleted = 0;
查看正在执行的慢sql
SELECT
-- 进程ID,用于终止慢SQL
t.ID,
-- 执行SQL的用户
t.USER,
-- 连接来源的IP和端口
t.HOST,
-- 执行的数据库
t.DB,
-- 执行状态(Sleep/Query等)
t.COMMAND,
-- 已运行时间(单位:秒)
t.TIME,
-- 正在执行的SQL语句
t.INFO
FROM information_schema.PROCESSLIST t
WHERE
-- 筛选正在执行查询的会话(排除Sleep状态)
t.COMMAND = 'Query'
-- 筛选运行时间超过10秒的SQL(阈值可根据需求调整)
AND t.TIME > 10
-- 排除系统库的内部操作
AND t.DB IS NOT NULL
ORDER BY t.TIME DESC;