写的很乱。建议ctrl+F
查询时判断某个字段的长度:where LENGTH(字段名) < a a代表字符长度
判断长度大于a且不等于null: where LENGTH(product_name) < a and product_name is not null (等于null去掉not)
查询时排序字段为null,null默认最大值,所以在asc/desc时在最下方或者最上方,同时在排序字段前添加ISNULL()函数可以进行处理 order by not ISNULL(issue_date) , issue_date desc 若issue_date字段为空时则在最上或者最下
SQL语句查询模糊查询(xml文件中):
- 字段 like “%”#{变量}"%"
like concat("%",#{变量},"%")
- bind标签,相当于创建一个变量,然后value给变量赋值
<bind name="pattern" value="'%'+变量+'%'"/> and email like #{pattern}
使用拼结函数GROUP_CONCAT时去重:函数内字段去重。
select group_concat(distinct A字段名,“分隔符”) from 表名
拼接函数去重排序
select group_concat(distinct 要连接的字段 order by asc/desc 排序字段 separator ‘分隔符’) from 表名
使用拼结函数GROUP_CONCAT拼接多个字段时去重
SELECT GROUP_CONCAT( DISTINCT aname,“aaa”, class SEPARATOR ',' ) FROM
A``
将需要拼接的字段aname,class先行拼接后(多个字段逗号隔开,先行执行)作为一个参数传递至distinct的去重作用参数,最后在执行group_concat的拼接功能。
添加语句的三种情况:
insert into:添加时判断主键,如果存在则报错。
replace into:添加时判断主键,存在则更新。
insert ignore into:添加时判断主键,存在则取消操作