用于操作的数据库表:
聚集函数:
用于处理字符串函数:
#用于处理字符串的函数 #合并字符串函数 select CONCAT("str1","str2","str3"); #合并字符串函数 SELECT STRCMP("str1","str"); #获取字符串字节数函数 SELECT LENGTH("str1"); #获取字符串字符数函数 SELECT CHAR_LENGTH("str1"); #字母大小写转换函数 #小写转大写 SELECT UPPER("str1"); SELECT UCASE("str1"); #大写转小写 SELECT LOWER("STR1"); SELECT LCASE("STR1"); #查询字符串索引 SELECT FIND_IN_SET("mxh","mxh is good coder"); #0 好像查不到 SELECT FIND_IN_SET("mxh","mxh,is,good,coder"); #1 SELECT FIELD("mxh","hello","mxh","is","coder"); #2 SELECT FIELD("mxh","hello","is","coder"); #0 查不到 #返回子串在字符串str2中的位置 SELECT LOCATE("mxh","mxh is good coder"); #1 SELECT POSITION("mxh" IN "mxh is good coder"); #1 SELECT INSTR("mxh is good coder","mxh"); #1 注意位置调转 #截取指定位置的字符串: SELECT ELT(1,"a","b","b"); SELECT LEFT("mxh is good coder", 4); #从左开始截取四个字符 SELECT RIGHT("mxh is good coder", 4); #从右开始截取四个字符 SELECT SUBSTRING("mxh is good coder",2,6); #xh is 从第几位开始截取几个字符 #字符串去空 SELECT LTRIM(" mxh is good coder !!! "); #去掉字符串左边空格 SELECT RTRIM(" mxh is good coder "); #去掉字符串右边空格 SELECT TRIM(" mxh is good coder !!! "); #去掉字符串两边空格--去不掉中间空格 #字符串替换 SELECT INSERT("mxh is good coder !!!",1,3,"hqy"); #替换mxh为hqy 根据字符位置替换 SELECT REPLACE("mxh is good coder !!!","!!!","???"); #替换!!!为??? 根据内容替换
处理数值函数:
#处理数值的函数 #取绝对值 SELECT ABS(-3.1415926); #向上取整 SELECT CEIL(-3.1415926); SELECT CEIL(3.1415926); #向下取整 SELECT FLOOR(-3.1415926); SELECT FLOOR(3.1415926); #取模 SELECT MOD(25,75); #随机数 SELECT RAND(); #四舍五入 随机数,小数点后保留三位小数 SELECT ROUND(RAND(),3); SELECT ROUND(3.1415926,3); #3.142 #截取数值 不四舍五入 类似于截取字符串 #从小数点后开始截取指定位数 SELECT TRUNCATE(3.1415926,4); #3.1415
处理日期时间:
#处理时间日期函数 SELECT CURDATE(); #2019-09-01 SELECT CURRENT_DATE(); #2019-09-01 SELECT NOW(); #2019-09-01 16:39:55 SELECT YEAR(NOW()); SELECT MONTH(NOW()); SELECT MONTHNAME(NOW()); SELECT WEEK(NOW()); #今年第几周 SELECT HOUR(NOW()); #获取小时 SELECT MINUTE(NOW()); #获取分钟 SELECT WEEKDAY(NOW()); #今天周几 SELECT WEEKDAY(CURDATE()); #今天周几 SELECT DAYNAME(NOW()); #今天周几