sql 杂项
2019-04-11 本文已影响0人
无实践无真知
mysql 中:
1. locate(#{searchText}, parts.code) // locate 搜索会比like 快一点
2. concat('%',#{searchText},'%') 组合多个字符串
用法例如:
and (p.name like concat('%',#{searchText},'%')
or p.code like concat('%',#{searchText},'%'))
3.group_concat() 用法例如 group_concat(name,'*',num)
根据某字段分组 (如Id 组合name)之后 "name1*num1",'name2*num2'
4.replace 替换函数 例如手机号码需要隐藏掉中间位置 184XXXX0023
SELECT REPLACE(phone, SUBSTR(phone,4,4), 'XXXX') AS phone FROM smart_platform_db.users
5.date_sub() 函数使用技巧
select date_sub('1998-01-01 00:00:00', interval '1 1:1:1' DAY_SECOND); //执行结果为 1997-12-30 22:58:59
6.select timediff('2008-08-08 08:08:08', '2008-08-01 00:00:00'); //不能这样用
可以这样用:select timediff('08:08:08', '00:00:00'); 中间的冒号 不能成其他字符
7.select datediff(now(), '20120410') 中间的 符号 可以为 - 、/ 等字符