13.1 字符串函数
对于针对字符串位置的操作,第一个位置被标记为1.
函数 | 功能 |
CONCAT(str1,str2...strn) | 连接字符串str1、str2、...strn |
INSERT(str,pos,len,newstr) | 将字符串str从第pos位置开始,长度为len的字符串替换为字符串newstr |
LOWER(str)/LCASE(str) | 将字符串str中所有字符变为小写 |
UPPER(str)/UCASE(str) | 将字符串str中所有字符变为大写 |
LEFT(str,x) | 返回字符串str最左边的x个字符 |
RIGHT(str,x) | 返回字符串str最右边的x个字符 |
LPAD(str,n,pad) | 使用字符串pad对字符串str最左边进行填充,直到长度为n个字符长度 |
RPAD(str,n,pad) | 使用字符串pad对字符串str最右边进行填充,直到长度为n个字符长度 |
LTRIM(str) | 去掉字符串str开始处的空格 |
RTRIM(str) | 去掉字符串str借书处的空格 |
TRIM(str) | 去掉字符串str开始和结束处的空格 |
REPEAT(str,x) | 返回字符串str重复x次的结果 |
REVERSE(str) | 返回颠倒字符串str顺序的结果 |
REPLACE(str,substr,newstr) | 使用字符串b替换字符串str中所有出现的字符串a |
STRCMP(str1,str2) | 比较字符串str和字符串str2 |
SUBSTRING(str,num,len) | 返回字符串str从num位置起len个字符长度的字符串 |
MID(str,num,len) | |
LENGTH(str) | 获取传入的参数str的长度 |
CHAR_LENGTH(str) | 获取传入的参数str的字符数 |
FIND_IN_SET(str1,str2) | 返回在str2中与str1相匹配的字符串的位置,str2中包含若干个用逗号分隔的字符串 |
FIELD(str,str1,str2...) | 返回str1、str2、...中第一个与字符串str匹配的字符串的位置 |
LOCATE(str1,str) | 返回参数str中字符串str1开始的位置 |
POSITION(str1 IN str) | |
INSERT(str,str1) | |
ELT(n,str1,str2...) | 返回str1,str2...中第n个字符串 |
MAKE_SET(num,str1,str2...strn) | 将num转换成二进制,从右到左读取值来选择字符串,值为1选择,值为0不选择 |
CONCAT(S1,S2,...SN) //如果其中一个参数为NULL,则返回值为NULL CONCAT_WS(SEP,S1,S2,...SN) //分隔符SEP会将各个字符串分隔开。当SEP的值为NULL时,返回NULL;当分隔符参数后存在NULL时,返回的结果将忽略NULL。 STRCMP(str1,str2) //当str1大于str2,返回1;str1等于str2,返回0;str1小于str2,返回-1.
13.2 数学函数
函数 | 功能 |
ABS(x) | 返回x的绝对值 |
FLOOR(x) | 返回不大于x的最大整数值 |
CEIL(x) | 返回不小于x的最小整数值 |
EXP(x) | 返回e的x次方 |
SQRT(x) | 返回非负数x的二次方根 |
LN(x) | 返回x的自然对数 |
MOD(x,y) | 返回x模y的值 |
RAND()/RAND(N) | 返回0~1之间的随机数,N为种子 |
ROUND(x)/ROUND(x,d) | 返回数值x四舍五入后的整数/d位小数 |
TRUNCATE(x,d) | 返回数值x截断为d位小数,d可以为负数 |
FORMAT(x,d) | 返回数值x四舍五入后有d位小数的字符串 |
13.3 日期和时间函数
函数 | 功能 | |
CURDATE() | 获取当前日期 格式:2015-07-07 | |
CURRENT_DATE() | ||
CURTIME() | 获取当前时间 格式:15:51:07 | |
CURRENT_TIME() | ||
NOW() | 获取当前的时间和日期 格式:2015-07-07 15:51:07 | |
CURRENT_TIMESTAME() | ||
LOCALTIME() | ||
SYSDATE() | ||
UNIX_TIMESTAMP(date) | 获取日期DATE的UNIX时间戳 | |
FROM_UNIXTIME() | 获取UNIX时间戳的日期值 | |
UTC_DATE() | 获取UTC日期 | |
UTC_TIME() | 获取UTC时间 | |
EXTRACT(type from NOW()) | 获取日期和时间的各部分值 | |
TO_DAYS(date) | 计算date与0000年1月1日相隔的天数 | |
FROM_DAYS(number) | 0000年1月1日经历number天后的日期 | |
DATEDIFF(date1,date2) | date1和date2相隔的天数 | |
ADDDATE(date,n) | date加上n天后的日期 | |
SUBDATE(date,n) | date减去n天后的日期 | |
* | ADDDATE(d,INTERNAL expr type) | d加上一段时间后的日期,expr决定了时间的长度,type决定了操作的对象 |
ADDDATE(d,INTERNAL expr type) | d减去一段时间后的日期,expr决定了时间的长度,type决定了操作的对象 | |
ADDTIME(time,n) | time加上n秒后的时间 | |
SUBTIME(time,n) | time减去n秒后的时间 | |
WEEK() | 返回当前年的第几周 | |
WEEKOFYEAR() | ||
DAYOFWEEK() | 返回星期几,1~7,1表示星期日 | |
WEEKDAY() | 返回星期几,0~6,0表示星期一 | |
DAYNAME() | 返回英文表示的星期 | |
YEAR(date) | 返回日期date的年份 | |
HOUR(time) | 返回时间time的小时值 | |
MINUTE(time) | 返回时间time的分钟值 | |
SECOND(time) | 返回时间time的秒 | |
MONTH() | 返回月份1~12 | |
MONTHNAME() | 返回月份的英文 | |
DAYOFYEAR() | 年中第几天 | |
DAYOFMONTH() | 月中第几天 |
UTC(国际协调时间)返回的时间与当前时间相差几个时区。
*参数type的值
type的值 | expr的表达式 |
YEAR | YY |
MONTH | MM |
DAY | DD |
HOUR | hh |
MINUTE | mm |
SECOND | ss |
YEAR_MONTH | YY与MM之间用任意符号隔开 |
DAY_HOUR | DD与hh之间用任意符号隔开 |
DAY_MINUTE | DD与mm之间用任意符号隔开 |
DAY_SECOND | DD与ss之间用任意符号隔开 |
HOUR_MINUTE | hh与mm之间用任意符号隔开 |
HOUR_SECOND | hh与ss之间用任意符号隔开 |
MINUTE_SECOND | mm与ss之间用任意符号隔开 |
13.4 系统信息函数
函数 | 功能 |
VERSION() | 返回数据库的版本号 |
DATABASE() | 返回当前数据库名 |
USER() | 返回当前用户名 |
LAST_INSERT_ID | 返回最近生成的AUTO_INCREMENT的ID值 |