SQL截取字段进行模糊查询

需求

关联查询中 对某个字段截取进行模糊查询

SQL

两种实现方式
本文采用第一种

SUBSTRING(string,position)

SUBSTRING函数从特定位置开始的字符串返回一个给定长度的子字符串
从1开始计数

SUBSTRING_INDEX(str,delim,count)

SUBSTRING_INDEX函数返回從字符串str分隔符 delim 在計數發生前的子字符串
如果計數是正的 則返回一切到最終定界符(從左邊算起)的左側
如果count是負數 則返回一切最終定界符(從右邊算起)的右側
SUBSTRING_INDEX搜尋在delim時進行區分大小寫的匹配

实现

1
2
3
4
5
SELECT a.id, b.user_id, a.name, a.info a.status, a.start_time, a.end_time
FROM a join b ON a.create_user = b.user_id
WHERE 1=1 AND
(a.name LIKE '%321%' OR SUBSTRING(info,3) LIKE '%321%')
ORDER BY job_id DESC LIMIT 0, 20

结论

MySQL提供的函数的强大
远超乎你的想象🤦‍♂️

Crontab定时备份Docker的MySQL容器

1
2
docker exec -it $(docker ps -aqf "name=mysql:5.7") \
mysqldump -u name -p pw databasename > backup_dir/backup_filename

看上去是没问题的
在终端运行也是ok的
但是crontab定时执行的时候 dump出来的文件大小始终是0

基于Docker的PXC实现

最近 尝试MySQL集群
在本机Docker搭建测试环境
使用PXC实现

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×