SQL语句中使用的函数其实是数据库自己经实验的一些功能,不同版本的数据库实现的函数差别很大,因为它们不是标准的SQL语句。
1、行函数
每一条记录就会有一个结果
数值函数:
round(num,n) 把数据四舍五入为指定位数的小数。
truncate(num,y) 截取数据小数点y位前的值,与round的区别是不会四舍五入。
floor(num) 向下取整,丢弃小数点后面的数据。
ceil(num) 向上取整数,把该数据处理成大于等于它的最小的整数。
abs(num) 返回num绝对值
pow(num,x) 返回num的x次方
字符串函数:
char_length(str) 计算出字符串的长度,相当于C语言中的strlen
concat(str1,str2,...) 连接字符串,相当于C语言的strcat
locate(str,str1) 在字符串str1中查询str,返回str第一次出现的位置,相当于C语言中的strstr函数,注意:位置从1开始。
lower(str) 把字符串中的所有字母转换成小写
upper(str) 把字符串中的所有字母转换成大写
left(str,n) 返回字符串str的左边n字符
right(str,n) 返回字符串str的右边n字符
mid(str,n,m) 返回字符串从n位置开始的m字符
日期函数:
now() 返回当前日期和时间
curdate() 返回当前日期
curtime() 返回当前时间
date(d) 提取时间数据中的日期部分
date_add(d,INTERVAL expr type) 向日期添加指定的时间间隔
type:
MICROSECOND 微秒
SECOND 秒
MINUTE 分钟
HOUR 小时
DAY 日
WEEK 周
MONTH 月
QUARTER 季度
YEAR 年
date_sub(d,INTERVAL expr type) 向日期减去指定的时间间隔
datediff(d1,d2) 返回两个日期之间的天数
date_format(d,format) 按照指定的格式显示日期
%y 两位年份
%Y 四位年份
%m 按数值显示月份
%M 按缩写显示月份
%d 按0~31显示日期
%D 按两位显示日期
%Y %m %D
2、组函数
一组数据(一次查询)只能得到一个结果
count() 统计次数
max() 计算最大值
min() 计算最小值
avg() 计算最小值
sum() 求和
注意:组函数会选择忽略null