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值 |
浙公网安备 33010602011771号