MySQL 有很多内置的函数,以下列出了这些函数的说明。
返回 CustomerName 字段第一个字母的 ASCII 码:
返回字符串 RUNOOB 的字符数
返回字符串 RUNOOB 的字符数
合并多个字符串
合并多个字符串,并添加分隔符:
返回字符串 c 在列表值中的位置:
返回字符串 c 在指定字符串中的位置:
格式化数字 "#,###.##" 形式:
从字符串第一个位置开始的 6 个字符替换为 runoob:
获取 b 在字符串 abc 中的位置:
返回字符串 abc 中 b 的位置:
字符串 RUNOOB 转换为小写:
返回字符串 runoob 中的前两个字符:
字符串 RUNOOB 转换为小写:
将字符串 xx 填充到 abc 字符串的开始处:
去掉字符串 RUNOOB开始处的空格:
从字符串 RUNOOB 中的第 2 个位置截取 3个 字符:
返回字符串 abc 中 b 的位置:
将字符串 runoob 重复三次:
将字符串 abc 中的字符 a 替换为字符 x:
将字符串 abc 的顺序反过来:
返回字符串 runoob 的后两个字符:
将字符串 xx 填充到 abc 字符串的结尾处:
去掉字符串 RUNOOB 的末尾空格:
返回 10 个空格:
比较字符串:
从字符串 RUNOOB 中的第 2 个位置截取 3个 字符:
从字符串 RUNOOB 中的第 2 个位置截取 3个 字符:
去掉字符串 RUNOOB 的首尾空格:
将字符串 runoob 转换为大写:
将字符串 runoob 转换为大写:
返回 -1 的绝对值:
返回 Products 表中Price 字段的平均值:
返回 Products 表中 products 字段总共有多少条记录:
计算 10 除于 5:
计算 e 的三次方:
小于或等于 1.5 的整数:
返回以下数字列表中的最大值:
返回以下字符串列表中的最大值:
返回以下数字列表中的最小值:
返回以下字符串列表中的最小值:
返回 2 的自然对数:
返回以 2 为底 6 的对数:
返回数据表 Products 中字段 Price 的最大值:
返回数据表 Products 中字段 Price 的最小值:
5 除于 2 的余数:
2 的 3 次方:
2 的 3 次方:
180 度转换为弧度:
25 的平方根:
计算 OrderDetails 表中字段 Quantity 的总和:
加 5 秒:
添加 2 小时, 10 分钟, 5 秒:
Orders 表中 OrderDate 字段减去 2 天:
15 的 2 进制编码:
字符串日期转换为日期:
以下是 MySQL 8.0 版本新增的一些常用函数:
宋新峰
需求:将数据库中每分钟一条的数据表,从 9:30 取到 22:00 ,以半小时为单位汇总,并输出 Excel。
表名:m_temp
解决办法:使用 DATE_FORMAT、CONCAT、Date、Hour、Minute、Floor 函数将时间处理成半小时,在将这段时间的数据查询时 输出 cdate 统一变为 09:30,然后在 group by cdate ,用 sum(incount)求和。
第一个半小时 09:30 至 10:00
将分钟取出 /30 , 0-29 分结果为 0 ,30-59分结果为 1 再乘以 30 分钟即变为 00 或者 30
date(cdate),取出年月日;
hour(cdate),取出小时;
minute(cdate),取出分钟;
计算(minute(cdate))/30 )*30,结果为 0 或30;
floor( (minute(cdate))/30 )*30), 处理成整数;
concat(date(cdate),' ',hour(cdate),':',floor( (minute(cdate))/30 )*30) ,按照日期格式进行拼接
DATE_FORMAT( concat(date(cdate),' ',hour(cdate),':',floor( minute(cdate)/30 )*30+12) ,'%Y-%m-%d %H:%i') ,转换成date类型