MySQL函数1(单行函数)
短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
单行函数
函数的理解
分类
数值函数
基本函数
- PI()无参数
- CETL CETLING()天花板函数(取比自己大的相邻的数)
- FLOOR()地板函数(取比自己小的相邻的数)
- RAND()无参数:随机;RAND(参数):一个固定的随机数
单行函数可以嵌套
角度与弧度的互换函数
三角函数
指数和对数
进制间的转换
- CONV(x,f1,f2):f1进制下的x,变成f2进制下的数
字符串函数
-
CHAR_LENGTH("字符串"):显示有多少个字符
-
LENGTH("字符串"):显示内存层面占多少个字节
-
CONCAT_WS(x,s1,s2....):用x来连接字符(串)
-
INSERT(s1,int1,int2,s2):从是的第int1开始,数int2个数替换成s2(字符串的索引从1开始)
-
LEFT(str,n)和RIGHT(str,n):如果n的数大于字符串的长度,则全部输出
日期和时间函数
获取日期,时间
select CURDATE(),NOW(),curtime(),utc_date(),utc_timestamp(),utc_time()
from dual;
# 结果
2022-03-05 2022-03-05 09:31:46 09:31:46(北京时间)
2022-03-05 2022-03-05 01:31:46 01:31:46(英国,格林威治时间)
日期和时间戳的转换
select unix_timestamp(),from_unixtime(1646444141),unix_timestamp("2021-10-01 12:12:32`")
from dual;
#结果
1646444277 2022-03-05 09:35:41 1633061552果
获取月份,星期,星期数,天数等
注:
- WEEKDAY():返回周几,周1是0
- DAYOFWEEK():返回周几,周日是1
日期的操作函数
EXTRACT(type FROM data)
SELECT EXTRACT(second FROM NOW())
FROM DUAL;#返回现在的秒数
时间和秒钟转化的函数
select time_to_sec(curtime()),sec_to_time(36265)
from dual;
36265 10:04:25
计算日期和时间的函数
基础的计算
- 返回与给定时间相差INTERVAL时间段的日期时间
DATE_ADD(datetime,INTERVAL expr type)
ADDDATE(date,INTERVAL expr type)
- 返回与date相差INTERVAL时间间隔的日期
DATE_SUB(date,INTERVAL expr type)
SUBDATE(date,INTERVAL expr type)
SELECT now(),date_add(now(),interval 1 year),date_add(now(),interval -1 year)
from dual;
#结果
2022-03-05 10:23:59
2023-03-05 10:23:59 加一年
2021-03-05 10:24:14 减一年
注:expr可以是负数(减去);在分钟和秒数等之间的expr要加下划线和单引号
复杂的计算
- PERIOD_ADD(时间,n):时间的表达是没有‘-’的
日期的格式化与解析(显式)
- 格式化:日期—>字符串
select date_format(NOW(),"%Y-%m-%d"),time_format(curtime(),"%h:%i:%s")
from dual;
2022-03-05 11:10:43
- 解析:字符串—>日期
select str_to_date("2022-October-05","%Y-%M-%d")
from dual;
2022-10-05
- GET_FORMAT
放入上述的fmt中,自动匹配对应的日期时间格式eg:
select date_format(NOW(),get_format(date,"USA"))
from dual;
流程控制函数(MySQL自带循环)
- IF(value,value1,value2):类别C语言中的 ... ? ... : ...语句
SELECT id,salay,if(salary >= 5000,"高工资","低工资") "detail"
FROM employees;#判断高低工资
- IFNULL(value1,value2):只能判断null的情况
- CASE WHEN...THEN...ELSE...END
CASE WHEN salary >= 10000 THEN "高薪"
else "低薪" END
加密和解密函数
- PASSWORD():在MySQL8.0中弃用
- MD5()和SHA()是不可逆的
- ENCODE()和DECONE()在MySQL8.0中也弃用了
MySQL信息函数
其他函数
- FORMAT(value,n):若n<=0,则保留整数
- INET_NTOA(value):每个部分分别*256的3、2、1、0次方,再加起来
原文地址:https://www.cnblogs.com/wht-de-bk/archive/2022/03/05/15969055.html
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341