MySQL——内置函数

内置函数

​ 使用select执行函数;内置函数在where子句中也可以使用;

一、日期函数

​ 日期类型也是支持比较的;

mysql 复制代码
current_date()#当前日期,格式为 xxx-yyy-zzz 年-月-日
current_time()#当前时间,格式为 xxx:yyy:zzz 时:分:秒
current_timestamp()#当前时间戳,格式为 xxx-yyy-zzz xxx:yyy:zzz 年-月-日 时:分:秒
now()#与当前时间戳函数实现的效果是一样的;

#根据时间戳返回日期;其中参数可以选择now();
date(datetime)
#根据时间戳返回时间;其中参数可以选择now();
time(datetime)

#在日期的基础上加时间
date_add(date,interval 数字 数值单位)
#在日期的基础上减时间
date_sub(date,interval 数字 数值单位)
#date可以是日期也可以是时间甚至是时间戳,intval的数值单位可以是year,month,day,hour,minute,second;
#计算两个日期相差的时间
datediff(date1,date2)
#单位是天;

二、字符串函数

mysql 复制代码
charset(str)#返回字符串字符集;
concat(str1,str2)#进行字符串的拼接,包括数字也会转为字符串然后进行拼接;
instr(string,substring)#判断sub字符串是否在string字符串中,返回子串开始位置的下标;下标从1开始;
ucase(str)#将字符串转换成大写;
lcase(str)#将字符串转换成小写;
left(str,length)#从左边起将字符串中的length个字符提取出来;
right(str,length)#从右边起将字符串中的length个字符提取出来;
length(str)#返回字符串的长度,utf-8汉字大小是3个字节;
replace(str,search_str,replace_str)#在str中用replace_str替换search_str;
strcmp(str1,str2)#逐字符比较两字符串的大小;
substring(str,pos,length)#length可以缺省,表示直接截取到最后位置;
ltrim(str)#将字符串左面的空格进行裁剪;
rtrim(str)#将字符串右面的字符进行裁剪;
trim(str)#将字符串除了中间部分的空格进行裁剪;

三、数学函数

mysql 复制代码
abs(num)#绝对值函数,可以是整数也可以是浮点数;
bin(decimal_num)#十进制转二进制函数,会转换成整数的二进制;
hex(decimal_num)#十进制转换成十六进制函数,会转换成整数的十六进制;
conv(num,from_base,to_base)#进制转换;例如:select conv(10,10,5);将一个数从十进制转换成5进制;
ceiling(num)#返回一个浮点数的上限值,即向上取整;
floor(num)#返回一个浮点数的下限值,即向下取整;
format(num,decimal_places)#格式化显示数字,如果是整数用零进行填充,浮点数则是采取四舍五入的方式进行;
mod(num)#对数字进行取余数;
rand()#返回随机的浮点数,范围是[0.0,1.0);

3.1取整方式

​ 对于丢弃掉小数部分的取整方式叫做0向取整,如C语言中的9/4取商值的方式就是0向取整;还有向上取整和向下取整以及四舍五入的方式取整;

四、其它函数

mysql 复制代码
user()#查看一下当前用户是谁;
database()#查看一下当前在哪一个数据库文件中;
md5(str)#对字符串进行数字摘要,最后得到一个长度为32的字符串;一般在插入密码时,不能直接插入数字,而是要经过md5算法进行数字摘要插入;
password(str)#对输入的密码进行加密,形成密文;
ifnull(val1,val2)#如果val1为null,返回val2,否则返回val1;由于null不参与计算,所以需要进行设计;
相关推荐
Elastic 中国社区官方博客3 小时前
搜索倍增器:推动收入、生产力和 AI 实现规模化
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
东风破_4 小时前
从输入 juejin.cn 到看到页面:DNS、Nginx、服务器集群与 CDN 到底在做什么?
后端·mysql
小成很成4 小时前
mysql 8.0.21 升级 mysql 8.0.45(经过生产环境验证)
android·mysql·adb
东风破_4 小时前
从 0 设计一个博客数据库:用户、头像与文章表应该怎么建?
后端·mysql
保定公民5 小时前
达梦数据库存储过程中的数组类型详解:基础数组与记录数组的差异化应用
数据库·达梦·存储过程·达梦数据库·dm8·dm
梦Arrebol6 小时前
Redis 内容及相关实验
数据库·redis
大模型码小白6 小时前
Spring AI Tool 实现自然语言操作 MySQL 数据库详解
服务器·开发语言·数据库·人工智能·python·mysql·spring
云计算DevOps-韩老师7 小时前
【MySQL运维DBA】【SQL基础系列002篇】
运维·mysql·dba
DBA大董8 小时前
TDengine3.0 DBA常用的运维命令和SQL2
运维·数据库·时序数据库·dba·tdengine