【MySQL】内置函数

日期函数




建立一个能插入时间戳的表

输出两分钟内新插入的数据
select contnet,sendtime from mg where sendtime > date_sub(now(),interval 2 minute);


select content,sendtime from msg where date add(sendtime, interval 2 minute) > now();

字符串函数

函数名称 描述
charset(str) 返回字符串字符集
concat(string2 [,...]) 连接字符串
instr(string,substring) 返回substring在string中出现的位置,没有返回0
ucase(string2) 转换成大写
lcase(string2) 转换成小写
left(string2,length) 从string2中的左起取length个字符
length(string) string的长度(字节)
replace(str,search_str,replace_str) 在str中用replace_str替换search_str
strcmp(string1,string2) 逐字符比较两字符串的大小
substring(str,position [,length]) 从str的position开始,取length个字符
ltrim(string) rtrim(string) trim(string) 去除前空格或后空格
cpp 复制代码
mysql> select charset(ename) from emp;//显示雇员名称所属的字符集	
cpp 复制代码
mysql> select concat('雇员名字:',ename,'工作:',job) as '雇员管理' from emp;//将字符串进行拼接
cpp 复制代码
mysql> select length(ename) from emp;//显示名字字节数,中文占三个字节
mysql> select replace(ename,'S','伤害'),ename from emp;//将名字中所有的S替换成伤害。
cpp 复制代码
mysql> select substring(ename,2,2),ename from emp;//从第二个字符开始,截取两个字符
cpp 复制代码
mysql> select concat(lcase(substring(ename,1,1)),substring(ename,2)) ename from emp;//以首字符小写的形式显示所有名字

思路是通过substring函数先将字符串中第一个字符截取出来,使用lcase进行处理之后,再与剩余的部分进行拼接。

cpp 复制代码
mysql> select ltrim("    abec");//删除左空格
mysql> select rtrim("abec    ");//删除右空格
mysql> select trim("      abec    ");//删除两侧空格

数学函数

函数名称 描述
abs(number) 绝对值函数
bin(decimal_number) 十进制转换二进制
hex(decimalNumber) 转换成十六进制
conv(number,from_base,to_base) 进制转换
ceiling(number) 向上取整
floor(number) 向下取整
format(number,decimal_places) 格式化,保留小数点位数
rand() 返回随机浮点数,范围[0.0,1.0)
mod(number,denominator) 取模,求余
cpp 复制代码
mysql> select abs(-100.3);//取绝对值
mysql> select ceiling(8.8);//9
mysql> select ceiling(8.1);//9
mysql> select ceiling(-8.1);//-8
mysql> select ceiling(-8.9);//-8

向上取整函数的上,表示的是正无穷方向的上。

向下取整同理,下指的是负无穷的方向。

cpp 复制代码
mysql> select format(3.1415926,4);//保留四位小数
mysql> select rand();//产生随机数,可以是小数

其他函数

函数名称 描述
user() 当前用户
md5(str) 对一个字符串进行摘要(加密使用)
database() 显示正在使用的数据库
password() 加密与md5类似
ifnull(val1,val2) 如果val1为null,返回val2,否则返回val1的值
cpp 复制代码
mysql> select user();
mysql> select database();
cpp 复制代码
mysql> select md5('admin');
mysql> select password('admin');

通常来讲在服务器中存储的密码是以这种加密方式存储的。

cpp 复制代码
mysql> select ifnull(null,'123');//第一个为null返回第二个的值
mysql> select ifnull('1234','123');//第一个不为null返回第一个的值
mysql> select ifnull(null,null);//两个都为null返回null
相关推荐
工程师老罗5 小时前
如何在Android工程中配置NDK版本
android
陌上丨6 小时前
Redis的Key和Value的设计原则有哪些?
数据库·redis·缓存
AI_56786 小时前
AWS EC2新手入门:6步带你从零启动实例
大数据·数据库·人工智能·机器学习·aws
ccecw6 小时前
Mysql ONLY_FULL_GROUP_BY模式详解、group by非查询字段报错
数据库·mysql
JH30736 小时前
达梦数据库与MySQL的核心差异解析:从特性到实践
数据库·mysql
数据知道7 小时前
PostgreSQL 核心原理:如何利用多核 CPU 加速大数据量扫描(并行查询)
数据库·postgresql
麦聪聊数据8 小时前
Web 原生架构如何重塑企业级数据库协作流?
数据库·sql·低代码·架构
未来之窗软件服务8 小时前
数据库优化提速(四)新加坡房产系统开发数据库表结构—仙盟创梦IDE
数据库·数据库优化·计算机软考
Libraeking8 小时前
破壁行动:在旧项目中丝滑嵌入 Compose(混合开发实战)
android·经验分享·android jetpack
市场部需要一个软件开发岗位9 小时前
JAVA开发常见安全问题:Cookie 中明文存储用户名、密码
android·java·安全