Mysql函数

Mysql常用函数整理
1. 数学函数

(1)ABS(x) 返回x的绝对值
(2)PI() 返回圆周率π,默认显示6位小数
(3)SQRT(x) 返回非负数的x的二次方根
(4)MOD(x,y) 返回x被y除后的余数
(5)CEIL(x)、CEILING(x) 返回不小于x的最小整数
(6)FLOOR(x) 返回不大于x的最大整数
(7)ROUND(x)、ROUND(x,y) 前者返回最接近于x的整数,即对x进行四舍五入;后者返回最接近x的数,其值保留到小数点后面y位,若y为负值,则将保留到x到小数点左边y位

2.字符串函数

(1)CHAR_LENGTH(str) 计算字符串字符个数
(2)CONCAT(s1,s2,…) 返回连接参数产生的字符串,一个或多个待拼接的内容,任意一个为NULL则返回值为NULL
(3)INSERT(s1,x,len,s2) 返回字符串s1,其子字符串起始于位置x,被字符串s2取代len个字符
(4)LOWER(str)和LCASE(str)、UPPER(str)和UCASE(str) 前两者将str中的字母全部转换成小写,后两者将字符串中的字母全部转换成大写
(5)LEFT(s,n)、RIGHT(s,n)
前者返回字符串s从最左边开始的n个字符,后者返回字符串s从最右边开始的n个字符
(6)LTRIM(s)、RTRIM(s) 前者返回字符串s,其左边所有空格被删除;后者返回字符串s,其右边所有空格被删除
(7)**TRIM(s)**返回字符串s删除了两边空格之后的字符串
(8)REPEAT(s,n) 返回一个由重复字符串s组成的字符串,字符串s的数目等于n
(9)REPLACE(s,s1,s2) 返回一个字符串,用字符串s2替代字符串s中所有的字符串s1
(10)STRCMP(s1,s2) 若s1和s2中所有的字符串都相同,则返回0;根据当前分类次序,第一个参数小于第二个则返回-1,其他情况返回1
(11)SUBSTRING(s,n,len)、MID(s,n,len) 两个函数作用相同,从字符串s中返回一个第n个字符开始、长度为len的字符串
(12)LOCATE(str1,str)、POSITION(str1 IN str)、INSTR(str,str1) 三个函数作用相同,返回子字符串str1在字符串str中的开始位置(从第几个字符开始)
(13)REVERSE(s) 将字符串s反转

3.日期和时间函数

(1)CURDATE()、CURRENT_DATE() 将当前日期按照"YYYY-MM-DD"或者"YYYYMMDD"格式的值返回,具体格式根据函数用在字符串或是数字语境中而定
(2)CURRENT_TIMESTAMP()、LOCALTIME()、NOW()、SYSDATE() 这四个函数作用相同,返回当前日期和时间值,格式为"YYYY_MM-DD HH:MM:SS"或"YYYYMMDDHHMMSS",具体格式根据函数用在字符串或数字语境中而定
(3)UNIX_TIMESTAMP()、UNIX_TIMESTAMP(date) 前者返回一个格林尼治标准时间1970-01-01 00:00:00到现在的秒数,后者返回一个格林尼治标准时间1970-01-01 00:00:00到指定时间的秒数
(4)FROM_UNIXTIME(date) 和UNIX_TIMESTAMP互为反函数,把UNIX时间戳转换为普通格式的时间
(5)UTC_DATE()和UTC_TIME() 前者返回当前UTC(世界标准时间)日期值,其格式为"YYYY-MM-DD"或"YYYYMMDD",后者返回当前UTC时间值,其格式为"YYYY-MM-DD"或"YYYYMMDD"。具体使用哪种取决于函数用在字符串还是数字语境中
(6)MONTH(date)和MONTHNAME(date) 前者返回指定日期中的月份,后者返回指定日期中的月份的名称
(7)**DAYNAME(d)、DAYOFWEEK(d)、WEEKDAY(d) DAYNAME(d)**返回d对应的工作日的英文名称,如Sunday、Monday等;DAYOFWEEK(d)返回的对应一周中的索引,1表示周日、2表示周一;WEEKDAY(d)表示d对应的工作日索引,0表示周一,1表示周二
(8)WEEK(d)、WEEKOFYEAD(d) 前者计算日期d是一年中的第几周,后者计算某一天位于一年中的第几周
(9)DAYOFYEAR(d)、DAYOFMONTH(d) 前者返回d是一年中的第几天,后者返回d是一月中的第几天
(10)EXTRACE(type FROM date) 从日期中提取一部分,type可以是YEAR、YEAR_MONTH、DAY_HOUR、DAY_MICROSECOND、DAY_MINUTE、DAY_SECOND
(11)TIME_TO_SEC(time) 返回以转换为秒的time参数,转换公式为"3600小时 + 60分钟 + 秒"
(12)SEC_TO_TIME() 和TIME_TO_SEC(time)互为反函数,将秒值转换为时间格式
(13)DATE_ADD(date,INTERVAL expr type)、ADD_DATE(date,INTERVAL expr type) 返回将起始时间加上expr type之后的时间,比如DATE_ADD(‘2010-12-31 23:59:59’, INTERVAL 1 SECOND)表示的就是把第一个时间加1秒
(14)DATE_SUB(date,INTERVAL expr type)、SUBDATE(date,INTERVAL expr type) 返回将起始时间减去expr type之后的时间
(15)ADDTIME(date,expr)、SUBTIME(date,expr) 前者进行date的时间加操作,后者进行date的时间减操作

4.条件判断函数

(1)IF(expr,v1,v2) 如果expr是TRUE则返回v1,否则返回v2
(2)IFNULL(v1,v2) 如果v1不为NULL,则返回v1,否则返回v2
(3)CASE expr WHEN v1 THEN r1 [WHEN v2 THEN v2] [ELSE rn] END
如果expr等于某个vn,则返回对应位置THEN后面的结果,如果与所有值都不想等,则返回ELSE后面的rn

7.格式化函数

(1)FORMAT(x,n)

将数字x格式化,并以四舍五入的方式保留小数点后n位,结果以字符串形式返回
(2)CONV(N,from_base,to_base)
不同进制数之间的转换,返回值为数值N的字符串表示,由from_base进制转换为to_base进制
(3)INET_ATON(expr)
给出一个作为字符串的网络地址的点地址表示,返回一个代表该地址数值的整数,地址可以使4或8比特
(4)BENCHMARK(count,expr)
重复执行count次表达式expr,它可以用于计算MySQL处理表达式的速度,结果值通常是0(0只是表示很快,并不是没有速度)。另一个作用是用它在MySQL客户端内部报告语句执行的时间
(6)CONVERT(str USING charset)
使用字符集charset表示字符串str

MySql如何自定义函数
1.自定义函数的语法
2.举个栗子
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值