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不参与计算,所以需要进行设计;
相关推荐
浩哲Zhe4 分钟前
SQL基础
数据库·sql
兔老大RabbitMQ2 小时前
mysql之比较两个表的数据
数据库·mysql·算法·oracle·哈希算法
VNGRY2 小时前
MySQL-数据库管理:优化、安全、合规与迁移的全面解析
数据库·mysql
C or Cpp2 小时前
nodejs sqlite模块
数据库·sqlite
TangAcrab2 小时前
sql 清空表,并清空自增 id
数据库·sql·清空数据库表·清空自增id
InterestingFigure3 小时前
redis的时延监控
数据库·redis·缓存
搬砖写代码3 小时前
MySQL数据库文件在Linux下存放位置
linux·数据库·mysql
用你的胜利博我一笑吧4 小时前
移动校园(4):数据处理(sql server数据库)
数据库
PGCCC4 小时前
介绍 pg_later:受 Snowflake 启发的 Postgres 异步查询#postgresql认证
数据库·postgresql
zengson_g4 小时前
如何确保 PostgreSQL 在高并发写操作场景下的数据完整性?
数据库·postgresql