MySQL常用的系统函数和作用
1. 数学函数
数学函数是MySQL中常用的一类函数. 其主要用于处理数字, 包括整型和浮点型等等.
- ABS(X) abs: 返回X的绝对值 ;
- FLOOR(X) floor: 返回不大于x的最大整数 ;
- CEIL(X) ceil: 返回不小于x的最小整数 ;
- TRUNCATE(X,D) truncate: 返回数值x保留到小数点后D位的值, 截断时不进行四舍五入 ;
- ROUND(X) round: 返回离x最近的整数, 截断时要进行四舍五入 ;
- ROUND(X,D) round: 返回数值x小数点后D位的值, 截断时要进行四舍五入 ;
- RAND() rand: 返回0~1的随机数 ;
- SIGN(X) sign:返回x的符号(负数 , 零或正数)对应-1,0或1 ;
- PI() pi: 返回圆周率的值, 默认显示的小数点位数是7位 ;
- POW(x,y) pow: 返回x的y次乘方的值 ;
- MOD(N,M) mod:返回n除以m以后的余数 ;
- SIN(X), ASIN(X) sin: 前者返回给定的弧度值x的正弦 ; 后者返回正弦x的反正弦值 ;
- COS(X), ACOS(X) cos: 前者返回给定的弧度值x的余弦 ; 后者返回余弦x的反余弦值 ;
- TAN(X), ATAN(X) tan: 前者返回给定的弧度值x的正切 ; 后者返回正切x的反正切值 ;
2. 字符串函数
字符串函数是MySQL中最常用的一类函数, 字符串函数主要用于处理表中的字符串 .
- CHAR_LENGTH(str) char_length: 计算字符串字符个数 ;
- LENGTH(str) length: 返回值为字符串str的长度. 单位为字节 ;
- CONCAT(s1,s2,…) concat: 返回连接参数产生的字符串, 一个或多个待拼接的内容, 任意一个为NULL则返回值为NULL ;
- CONCAT_WS(x,s1,s2,…) concat_ws: 返回多个字符串拼接之后的字符串, 每个字符串之间有一个x ;
- LOWER(str) lower: 将str中的字母全都转换为小写 ;
- UPPER(str) upper: 将str中的字母全都转换为大写 ;
- TRIM(str) trim: 返回字符串str删除两边字符串之后的字符串 ;
- TRIM(s FROM str) trim : 删除字符串str两端所有子字符串s, 未指定s的情况下则默认删除空格 ;
- REPLACE(s, s1,s2) replace: 返回一个字符串, 其中用字符串s2替代字符串s中的所有的字符串s1 ;
- LOCATE(s, str) locate: 返回子字符串s在字符串str中的开始位置 ;
- REVERSE(str) reverse: 将字符串str反转 ;
3. 日期和时间函数
日期和时间函数是MySQL中另一最常用的函数, 其主要用于对表中的日期和时间数据进行处理 .
- CURDATE(), CURRENT_DATE() : 返回当前日期,格式:yyyy-MM-dd
- CURTIME(), CURRENT_TIME() : 返回当前时间, 格式: HH:mm:ss
- NOW() : 返回当前日期和时间,格式: yyyy-MM-dd HH:mm:ss
- UNIX_TIMESTAMP() unix_timestamp: 返回一个格林尼治标准时间1970-01-01 00:00:00到现在的秒数 ;
- UNIX_TIMESTAMP(date) : 返回一个格林尼治标准时间1970-01-01 00:00:00到指定时间的秒数 ;
- FROM_UNIXTIME(date) from_unixtime: 和UNIX_TIMESTAMP互为反函数, 把UNIX时间戳转换为普通格式的时间 ;
- MONTH(d) month: 返回日期d中的月份值, 范围是1~12 .
- MONTHNAME(d) monthname: 返回日期d中的月份名称, 如:January, February等
- DAYNAME(d) dayname: 返回日期d是星期几, 如: Monday, Tuesday等
- DAYOFWEEK(d) dayofweek: 返回日期d是星期几, 如: 1表示星期日, 2表示星期一等
- WEEKDAY(d) weekday: 返回日期d是星期几, 如: 0表示星期一, 1表示星期二等
- WEEK(d) week: 计算日期d是本年的第几个星期, 范围是0~53
- WEEKOFYEAR(d) weekofyear: 计算日期d是本年的第几个星期,范围是1~53
- DAYOFYEAR(d) dayofyear: 计算日期d是本年的第几天
- DAYOFMONTH(d) dayofmonth: 计算日期d是本月的第几天
- YEAR(d) year: 返回日期d中的年份值
- QUARTER(d) quarter: 返回日期d是第几个季度, 范围是1~4
- HOUR(t) hour: 返回时间t中的小时值
- MINUTE(t) minute: 返回时间t中的分钟值
- SECOND(t) second: 返回时间t中的秒钟值
4. 系统信息函数
系统信息函数用来查询MySQL数据库的系统信息 .
- VERSION() version: 获取数据库的版本号
- CONNECTION_ID() connection_id: 获取服务器的链接数
- DATABASE() database: 获取当前数据库名
- USER() user: 获取当前用户名