14、mysql函数

MySQL 有很多内置的函数,以下列出了这些函数的说明。 

1、mysql字符串函数

select ascii('A'); -- 返回字符串首字母的ASCII值
select char_length('A中国');-- 返回字符串字符数
select CHARACTER_LENGTH('A中国');-- 返回字符串字符数
select concat('a','b');-- 连接两个字符串
select concat_ws('-','a','b','c');-- 以-分隔符连接多个字符串
select field('a','a','b','c');-- 返回第一个字符串在列表中的位置
select FIND_IN_SET('c','a,bc,f,c');-- 返回字符串在后面字符串中的位置
select FORMAT(12.22,3);-- 数字格式化,3位小数
select insert('abcdefg',3,2,'hh');-- 从字符串1第三个字符开始,长度为2 替换为第二个字符串
select locate('abcdef','c');-- 返回字符串2在字符串1中的其实位置
select lcase('ABCd'); -- 大写变小写
select LEFT('aaacdf',2);-- 取左2位,太棒啦
select right('aaacdf',2);-- 取右2位,太棒啦
select LOWER('AGFD'); -- 大写变小写
select UPPER('aff'); -- 小写变大写
select UCASE(str);
select lpad('aa',5,'X');-- 左填充
select rpad('aa',5,'X');
select LTRIM('  aaa');-- 左去空格
select RTRIM(str);
select trim(str);
select MID(str,pos,len);
select POSITION(substr IN str);
select REPEAT(str,count);
SELECT REPLACE(str,from_str,to_str);
select SPACE(N);
select STRCMP(expr1,expr2);-- 比较两个字符串,相等0,大于1,小于-1
select substr('abcdfdff',2,5);-- 截取
select SUBSTR(str,pos,len);
select SUBSTRING_INDEX(str,delim,count);

2、mysql数字函数

select ABS(X);
select ACOS(X);
select ASIN(X);
select ATAN(X);
select AVG([DISTINCT] expr);
select CEIL(X);
select CEILING(X);
select COS(X);
select COT(X);
select COUNT(expr);
select DEGREES(X);
select n div m;
select EXP(X);
select GREATEST(value1,value2,...);
select LEAST(value1,value2,...);
select LN(X);
select LOG(X);
select LOG10(X);
select MAX(expr);
select MIN(expr);
select `MOD`(N,M);
select PI();
select POW(X,Y);
select POWER(X,Y);
select RADIANS(X);
select RAND();
select ROUND(X,D);
select SIGN(X);
select SIN(X);
select SQRT(X);
select SUM(expr);
select TAN(X);
select TRUNCATE(X,D);

3、mysql日期函数

ADDDATE(d,n)      计算起始日期 d 加上 n 天的日期
ADDTIME(t,n)      时间 t 加上 n 秒的时间     
CURDATE()         返回当前日期
CURRENT_DATE()    返回当前日期
CURRENT_TIME      返回当前时间
CURRENT_TIMESTAMP() 返回当前日期和时间
CURTIME()         返回当前时间
DATE()            从日期或日期时间表达式中提取日期值
DATEDIFF(d1,d2)   计算日期 d1->d2 之间相隔的天数
DATE_ADD(d,INTERVAL expr type) 计算起始日期 d 加上一个时间段后的日期
DATE_FORMAT(d,f)  按表达式 f的要求显示日期 d
DATE_SUB(date,INTERVAL expr type) 函数从日期减去指定的时间间隔。
DAY(d)            返回日期值 d 的日期部分
DAYNAME(d)        返回日期 d 是星期几,如 Monday,Tuesday
DAYOFMONTH(d)     计算日期 d 是本月的第几天
DAYOFWEEK(d)      日期 d 今天是星期几,1 星期日,2 星期一,以此类推
DAYOFYEAR(d)      计算日期 d 是本年的第几天
EXTRACT(type FROM d)
FROM_DAYS(n)      计算从 0000 年 1 月 1 日开始 n 天后的日期
HOUR(t)           返回 t 中的小时值
LAST_DAY(d)       返回给给定日期的那一月份的最后一天
LOCALTIME()       返回当前日期和时间
LOCALTIMESTAMP()  返回当前日期和时间
MAKEDATE(year, day-of-year) 基于给定参数年份 year 和所在年中的天数序号 day-of-year 返回一个日期
MAKETIME(hour, minute, second) 组合时间,参数分别为小时、分钟、秒
MICROSECOND(date) 返回日期参数所对应的微秒数
MINUTE(t)         返回 t 中的分钟值
MONTHNAME(d)      返回日期当中的月份名称,如 November
MONTH(d)          返回日期d中的月份值,1 到 12
NOW()             返回当前日期和时间
PERIOD_ADD(period, number) 为 年-月 组合日期添加一个时段
PERIOD_DIFF(period1, period2) 返回两个时段之间的月份差值
QUARTER(d)        返回日期d是第几季节,返回 1 到 4
SECOND(t)         返回 t 中的秒钟值
SEC_TO_TIME(s)    将以秒为单位的时间 s 转换为时分秒的格式
STR_TO_DATE(string, format_mask) 将字符串转变为日期
SUBDATE(d,n)      日期 d 减去 n 天后的日期
SUBTIME(t,n)      时间 t 减去 n 秒的时间
SYSDATE()         返回当前日期和时间
TIME(expression)  提取传入表达式的时间部分
TIME_FORMAT(t,f)  按表达式 f 的要求显示时间 t
TIME_TO_SEC(t)    将时间 t 转换为秒
TIMEDIFF(time1, time2)  计算时间差值
TIMESTAMP(expression, interval) 单个参数时,函数返回日期或日期时间表达式;有2个参数时,将参数加和
TO_DAYS(d)        计算日期 d 距离 0000 年 1 月 1 日的天数
WEEK(d)           计算日期 d 是本年的第几个星期,范围是 0 到 53
WEEKDAY(d)        日期 d 是星期几,0 表示星期一,1 表示星期二
WEEKOFYEAR(d)     计算日期 d 是本年的第几个星期,范围是 0 到 53
YEAR(d)           返回年份
YEARWEEK(date, mode) 返回年份及第几周(0到53),mode 中 0 表示周天,1表示周一,以此类推

4、mysql高级函数

select version();-- 返回数据库的版本号
select USER();-- 返回当前用户
select SYSTEM_USER();-- 返回当前用户
select SESSION_USER();-- 返回当前用户
select NULLIF(expr1,expr2);-- 比较两个字符串,相等返回null,不等返回expr1
select LAST_INSERT_ID();
select IFNULL(expr1,expr2);-- 如果1不为null返回1,否则返回2
select IF(expr1,expr2,expr3);
select CURRENT_USER();
select CONVERT(expr USING transcoding_name);
select CONV(N,from_base,to_base);
select `COALESCE`(value,...);
select CAST(expr AS type);
case when;
select BINARY;
select BIN(N);

posted @ 2019-11-28 17:37  清净心境  阅读(172)  评论(0编辑  收藏  举报