1. 数学函数
函数名 | 作用 |
---|---|
ABS(x) | 返回x的绝对值 |
BIN(x) | 返回x的二进制(OCT-八进制,HEX-十六进制) |
CEILING(x) | 返回大于x的最小整数值 |
EXP(x) | 返回值e(自然对数的底)的x次方 |
FLOOR(x) | 返回小于x的最大整数值 |
GREATEST(x1…,xn) | 返回集合中最大的值 |
LEAST(x1…,xn) | 返回集合中最小的值 |
LN(x) | 返回x的自然对数 |
LOG(x,y) | 返回x的以y为底的对数 |
MOD(x,y) | 返回x的以y为底的对数 |
RAND() | 随机数生成器生成一个指定的值 |
ROUND(x,y) | 返回参数x的四舍五入的有y位小数的值 |
SIGN(x) | 返回代表数字x的符号的值 |
SQRT(x) | 返回一个数的平方根 |
TRUNCATE(x,y) | 返回数字x截短为y位小数的结果 |
2. 聚合函数(常用于GROUP BY从句的SELECT查询中)
函数名 | 作用 |
---|---|
AVG(col) | 返回指定列的平均值 |
COUNT(col) | 返回指定列中非NULL值的个数 |
MIN(col) | 返回指定列的最小值 |
MAX(col) | 返回指定列的最大值 |
SUM(col) | 返回指定列的所有值之和 |
GROUP_CONCAT(col) | 返回由属于一组的列值连接组合而成的结果 |
3. 字符串函数
函数名 | 作用 |
---|---|
ASCII(char) | 返回字符的ASCII码值 |
BIT_LENGTH(str) | 返回字符串的比特长度 |
CONCAT(s1,s2…,sn) | 将s1,s2…,sn连接成字符串 |
CONCAT_WS(sep,s1,s2…,sn) | 将s1,s2…,sn连接成字符串,并用sep字符间隔 |
LCASE(str)/LOWER(str) | 返回将字符串str中所有字符改变为小写后的结果 |
LEFT(str,x) | 返回字符串str中最左边的x个字符 |
LTRIM(str) | 从字符串str中切掉开头的空格 |
POSITION(substr,str) | substr在字符串str中第一次出现的位置 |
QUOTE(str) | 用反斜杠转义str中的单引号 |
REPEAT(str,srchstr,rplcstr) | 返回字符串str重复x次的结果 |
REVERSE(str) | 返回颠倒字符串str的结果 |
RIGHT(str,x) | 返回字符串str中最右边的x个字符 |
RTRIM(str) | 返回字符串str尾部的空格 |
STRCMP(s1,s2) | 比较字符串s1和s2 |
TRIM(str) | 去除字符串首部和尾部的所有空格 |
UCASE(str)/ UPPER(str) | 去除字符串首部和尾部的所有空格 |
4. 日期和时间函数
函数名 | 作用 |
---|---|
CURDATE()/CURRENT_DATE() | 返回当前的日期 |
CURTIME()/CURRENT_TIME() | 返回当前的时间 |
DATE_FORMAT(date,fmt) | 依照指定的fmt格式格式化日期date值 |
DAYOFWEEK(date) | 返回date所代表的一星期中的第几天(1~7) |
DAYOFMONTH(date) | 返回date是一个月的第几天(1~31) |
DAYOFYEAR(date) | 返回date是一年的第几天(1~366) |
FROM_UNIXTIME(ts,fmt) | 根据指定的fmt格式,格式化UNIX时间戳ts |
UNIX_TIMESTAMP(date) | 把字符串日期转成时间戳 |
NOW() | 返回当前的日期和时间 |
WEEK(date) | 返回日期date为一年中第几周(0~53) |
YEAR(date) | 返回日期date的年份(1000~9999) |
5. 系统信息函数
函数名 | 作用 |
---|---|
DATABASE() | 返回当前数据库名 |
BENCHMARK(count,expr) | 返回当前的时间 |
CONNECTION_ID() | 返回当前客户的连接ID |
FOUND_ROWS() | 返回最后一个SELECT查询进行检索的总行数 |
USER()/SYSTEM_USER() | 返回当前登陆用户名 |
VERSION() | 返回MySQL服务器的版本 |
SELECT id , `customer_name` , sex , LEFT(telephone,3) ,USER(),RAND(),WEEK(now()) ,SQRT(4) ,CONCAT(telephone,'-',id),LOWER('abc'), CURRENT_TIME(),UNIX_TIMESTAMP(now()),
CASE
WHEN sex = 1 THEN '男'
WHEN sex = 2 THEN '女'
else '保密'
END AS sex
FROM customer_demand
ORDER BY id DESC
LIMIT 10
后记:前几天在看一本sql学习指南 是关于sql语句的介绍 书中主要针对mysql进行讲解 这几天有空 总结上常用的mysql函数 以便日后用到学习
参考url:http://www.jb51.net/article/28680.htm