mysql中的函数

常用的几类函数

字符串函数:用于控制返回给用户的字符串

日期函数:用于操作日期值

数学函数:用于对数值进行代数运算

字符串相关函数

CHARSET(str)

返回字串字符集

CONCAT (string2 [,… ])

连接字串

INSTR (string ,substring )

返回substringstring中出现的位置**,没有返回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 ])

strposition开始**,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