mysql中的函数
常用的几类函数
字符串函数:用于控制返回给用户的字符串
日期函数:用于操作日期值
数学函数:用于对数值进行代数运算
字符串相关函数
CHARSET(str) | 返回字串字符集 |
CONCAT (string2 [,… ]) | 连接字串 |
INSTR (string ,substring ) | 返回substring在string中出现的位置**,没有返回0** |
UCASE (string2 ) | 转换成大写 |
LCASE (string2 ) | 转换成小写 |
LEFT (string2 ,length ) | 从string2中的左边起取length个字符 |
LENGTH (string ) | string****长度 |
REPLACE (str ,search_str ,replace_str ) | 在str中用replace_str替换****search_str |
STRCMP (string1 ,string2 ) | 逐字符比较两字串大小**,** |
SUBSTRING (str , position [,length ]) | 从str的position开始**,取length****个字符** |
LTRIM (string2 ) RTRIM (string2 ) trim | 去除前端空格或后端空格 |
#聚合函数
-- sum()求和,将指定列中所有数据求和后返回--
SELECT SUM(score) as 总分 FROM computer
-- avg()求平均值,获取指定列平均值 --
SELECT AVG(score) as 平均分 FROM computer
-- max()最大值--
SELECT MAX(score) 最大值 FROM computer
-- max()最小值--
SELECT min(score) 最小值 FROM computer
-- count()返回满足条件的行数--
SELECT COUNT(score) as 条数 FROM computer
#字符串函数
-- charset()返回指定字段字符串编码--
SELECT CHARSET(studentaddress) FROM student
-- concat()连接字符串。将两字段数据或字符串进行连接--
SELECT CONCAT(studentname,studentsex,'人') FROM student
-- nstr()查找指定字符串出现的位置,不存在则返回--
SELECT studentname, INStr(studentname,'c') FROM student
-- UCASE()大写 --
SELECT UCASE(studentname) FROM student
-- LCASE()小写--
SELECT LCASE(studentname) FROM student
-- LCASE()返回指定字段从左开始指定长度的数据--
SELECT LEFT(studentname,2) FROM student
-- LENGTH()返回指定字段字符个数--
SELECT studentname, LENGTH(studentname) FROM student
-- replace()使用指定字符串替换字段中某一字符串--
SELECT studentname, REPLACE(studentname,'B','--') FROM student
-- substring()返回指定字段自定起始位置开始长度的字符串--
SELECT studentname, SUBSTRING(studentname,2,2) FROM student
-- trim()空格替换--
SELECT studentname, LTRIM(studentname) FROM student
时间日期相关函数
ADDTIME (date2 ,time_interval ) | 将time_interval加到****date2 |
CURRENT_DATE ( ) | 当前日期 |
CURRENT_TIME ( ) | 当前时间 |
CURRENT_TIMESTAMP ( ) | **当前时间戳 **** ** |
DATE (datetime ) | 返回datetime的日期部分 |
DATE_ADD (date2 , INTERVAL d_value d_type ) | 在date2中加上日期或时间 |
DATE_SUB (date2 , INTERVAL d_value d_type ) | 在date2上减去一个时间 |
DATEDIFF (date1 ,date2 ) | 两个日期差 |
NOW ( ) | 当前时间 |
YEAR|Month|DATE (datetime ) | 年月日 |
###日期函数
current_date()
-- 返回当前时间(date类型) --
current_time()
-- 返回当前时间(time类型) --
current_timstamp()
-- 返回当前时间(timestamp类型)--
NOW()
-- 返回当前时间(datatime类型)--
-- time()返回指定日期字段time部分数据--
SELECT TIME(t4) FROM timetest
数学相关函数
ABS (number2 ) | 绝对值 |
BIN (decimal_number ) | 十进制转二进制 |
CEILING (number2 ) | 向上取整 |
CONV(number2,from_base,to_base) | 进制转换 |
FLOOR (number2 ) | 向下取整 |
FORMAT (number,decimal_places ) | 保留小数位数 |
HEX (DecimalNumber ) | 转十六进制 |
LEAST (number , number2 [,…]) | 求最小值 |
MOD (numerator ,denominator ) | 求余 |
RAND([seed]) | RAND([seed]) |
###数学函数
abs()
###向上取整
floor()
##向下取整
least()
##获取一行数据中最小值
rand()
##随机数
#-前面升序 -后面降序
select * from sort order by str
#查找每个-的位置
select instr(str,'-') from sort
#获取-左边的值
select CONVERT(left(str,instr(str,'-')-1),SIGNED) from sort
#获取-右边的值
select CONVERT(right(str,length(str)-instr(str,'-')),SIGNED) from sort
select * from sort order by CONVERT(left(str,instr(str,'-')-1),SIGNED) asc , CONVERT(right(str,length(str)-instr(str,'-')),SIGNED) desc