MySQL (四) 内置函数 回顾总结

一、内置函数

(1)数字函数

绝对值
SELECT abs (-1); # 1
取余
select mod (10,3); # 1
向下取整
select floor(3.5); # 3
向上取整
SELECT ceiling(2.4); # 3
四舍五入

SELECT round(3.5); # 4
SELECT round(3.4); # 3
x的y次方
SELECT pow(3,2); # 9
获取圆周率
SELECT PI(); 
随机数 0-1 之间
SELECT rand();  #随机 每次都不一样

SELECT rand(n);  # 给定随机种子,每次都一样,随着种子改变,相应的随机数也会变化

(2)字符串函数

字符串转 ASCII
select ascii('a');  #97
ASCII 转 字符串
select char(97); # a
拼接
SELECT CONCAT('l','z','y'); # lzy
字符串长度
SELECT LENGTH("lzy"); # 3
字符串截取,注意,str 下标从 1 开始,非从零开始
substring (str, pos, len) # 对于str,从pos 开始, 取的len 长度的字符串为止

SELECT left(str,len)/right(str,len)/substring(str,pos,len);
SELECT left(123456,3),right(123456,3),SUBSTRING(123456,3,3); # 123	456	 345
两边删除默认空格
#        左删除 /右删除  /两边删除/  (两边删除   固定 字符,  左边删除固定字符,,,右边删除固定字符  )
select ltrim()/rtrim()/trim()/trim(both/leading/trailing  re_tr  from str); 
SELECT ltrim("  lzy  "),rtrim('  lzy  '),trim('  lzy  '),trim(both "." from '..lzy..'),trim(leading "." from '..lzy..'),trim(trailing "." from '..lzy..');

在这里插入图片描述

产生 n 个空格
select space(n);
替换
select replace(str,from_str,to_form);


select REPLACE('lzy','zy','yz'); # lyz

SELECT REPLACE(12345,45,4050); # 1234050
大小写切换
select upper(str)/lower(str);
select upper('lzy'),lower('LZY'); # LZY	lzy
 test 练习

# 将所有员工姓名转化成小写

select ename,lower(ename) from emp where 1=1;


# 将员工姓名和部门用 - 连接

SELECT concat(ename,'-',deptno) from emp where 1=1;
# out
/*
SMITH-20
ALLEN-30
WARD-30
JONES-20
MARTIN-30
BLAKE-30
CLARK-10
SCOTT-20
KING-10
TURNER-30
*/

(3)日期时间函数

获取当前日期
select current_date()/curdate();   # 也可以不加()
select current_date(),curdate(); # 2021-08-25	2021-08-25
获取当前时间
select current_time()/curtime();
SELECT CURRENT_TIME(),curtime(); # 14:44:47	14:44:47
获取当前时间
select now(); # 2021-08-25 14:46:05   日期+时间
获取特定的值
括号内需加上时间日期
select year(now()); # 2021

select month(now()); #8

select day(now()); # 25

select hour(now()); # 14

select minute(now()); # 52 

select second(now()); # 50
格式化输出
data_format(date,format)

format 格式有:

%y   21       %Y  2021
%m
%d
%h   12小时制  %H  24 小时制
%i
%s
select date_format(now(),'%Y/%m/%d - %h:%i:%s'); # 2021/08/25 - 03:04:34
给时间添加指定的时间间隔
 expre 表示时间间隔,unit  表示类型 
SELECT DATE_ADD(date,INTERVAL expr unit)
SELECT date_add(now(),interval 1 DAY); # 2021-08-26 15:07:35
给日期减去指定的时间间隔
SELECT DATE_SUB(date,INTERVAL expr unit)
SELECT DATE_SUB(now(),interval 1 DAY); # 2021-08-24 15:09:57
返回两个日期之间的天数,
只有值得部分进行运算   date1-date2  date 记得加引号
DATEDIFF(expr1,expr2)
SELECT DATEDIFF('2021/08/25','2021/08/24'); # 1
返回两个时间之间的差值,
只有值得部分进行运算   date 记得加引号
TIMEDIFF(expr1,expr2)
SELECT TIMEDIFF('10:05','09:05'); # 01:00:00
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值