like concat("%",#{},"%")
group_concat() 将字段里的所有值转换为字符串用逗号分割。通常和distinct一起使用
SELECT GROUP_CONCAT(`password`) FROM tb_user
SELECT GROUP_CONCAT(DISTINCT `password`) FROM tb_user
对于一些符号再xml是非法的,通过下边去转化
<![CDATA[ >= ]]>
sum函数(求和 搭配if函数使用)
SELECT SUM(IF(STATUS = '0', 1, 0)) scrapped,
count(1) 或者count(*) 去计数,也可以去使用一些条件去进行计数
SELECT count(if(`password` = 123123,TRUE,NULL)) FROM tb_user count(DISTINCT `password`,if(`password` = 123123,TRUE,NULL))
时间段的判断
BETWEEN CONCAT(date_format(#{dto.startDate},'%Y-%m-%d'), ' 00:00:00') AND CONCAT(date_format(#{dto.endDate},'%Y-%m-%d'), ' 23:59:59') # '%Y-%m-%d %H:%i:%S
当前时间增加和减少多长时间
date_sub(now(), INTERVAL 30 DAY # year week Month date_add(now(), INTERVAL 30 DAY date_diff(oldDate,newDate) # 俩个时间相差多少天 # 更多的参考 https://blog.csdn.net/dinghua_xuexi/article/details/126437083
精确匹配
select user_name from tb_user where FIND_IN_SET(`password`,"123123,456"); # 前边的字段是否在后边的String中,后边必须为逗号分割的字符串
指定顺序排序
ORDER BY field(user_name, "luli", "lu","li") # 根据后边枚举出来的顺序进行排序,没有枚举出来的值排在上边,具体可以搭配desc得到需要的顺序