1、去重:select DISTINCT "字段" from表名 ---- 关键字(DISTINCT)
2、字段链接:select CONCAT(字段,字段,字段) as "别名" from 表名 ----方法CONCAT(Str,str,str)
3、表结构:desc 表名 ---- 关键字desc
4、判断是否为空:select IFNULL("字段",0) as 别名 FROM 表名 ----方法 IFBULL ,0替代null
5、排除:Select * from 表名 where NOT(字段>1 and 字段 <6) ---- 方法 not()
6、模糊查询:Select * from 表名 where 字段 LIKE '%e%' ---- %%前后任意多个字符
Select * from 表名 where 字段 LIKE '_t_%' ESCAPE '@' ---- 一个下划线代表一个字符
---- ESCAPE 关键字指定 转义字符为@
7、BETWEEN AND : Select * from 表名 where 字段 BETWEEN 15 and 20 ---- 在····之间 包括15和20(包含临界值)
8、判断某字段的值是否属于in列表中的某一项 : Select * from 表名 where 字段 in('Str','Str') ---- IN 等同 or 的结果
9、字母转大写:SELECT UPPER('abc’) ---- 方法 UPPER()
10、字母转小写:SELECT LOWER('ABC') ---- 方法 LOWER()
11、截取:SELECT SUBSTR(字段 ,1 , 3) FROM 表名 WHERE id=1 ---- 方法 SUBSTR() ,索引从1开始,不是从0
12、返回第一次出现的索引,找不到返回0:SELECT INSTR(字段,9) FROM 表名 where id = 448
13、清除左右空格:SELECT LENGTH(TRIM(' 123 ')) ,如要其他则 SELECT TRIM('a' from 'aaaaaa123aaaaa')
14、用指定的字符实现左填充,10 为指定长度:select LPAD(字段,10,'*') from 表名 where id =448
15、指定替换 replace:SELECT replace(字段,5,’a’) from 表名 where id =448
16、四舍五入 round:select ROUND(1.689,2) ---- 结果 为1.69,括号中的2为保留2位小数
17、向上取整 ceil :SELECT CEIL(1.0002) ----结果为2,返回>=该参数的最小整数
18、向下取整FLOOR:SELECT FLOOR(9.00009) ----结果为9,返回<=该参数的最大整数
19、截断TRUNCATE:SELECT TRUNCATE(9.999999,1) ----结果为9.9 , 括号中的1表示只保留一位小数
20、取余mod : SELECT mod(10,3) ----- 取余的公式:a-a/b*b
21、两个时间的差数:select DATEDIFF('2020-10-10','2020-09-10')----结果为30,用第一个时间参数减去第二个时间参数