【MySQL】内置函数
2023-12-13 23:49:40
日期函数
建立一个能插入时间戳的表
输出两分钟内新插入的数据
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) | 去除前空格或后空格 |
mysql> select charset(ename) from emp;//显示雇员名称所属的字符集
mysql> select concat('雇员名字:',ename,'工作:',job) as '雇员管理' from emp;//将字符串进行拼接
mysql> select length(ename) from emp;//显示名字字节数,中文占三个字节
mysql> select replace(ename,'S','伤害'),ename from emp;//将名字中所有的S替换成伤害。
mysql> select substring(ename,2,2),ename from emp;//从第二个字符开始,截取两个字符
mysql> select concat(lcase(substring(ename,1,1)),substring(ename,2)) ename from emp;//以首字符小写的形式显示所有名字
思路是通过substring函数先将字符串中第一个字符截取出来,使用lcase进行处理之后,再与剩余的部分进行拼接。
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) | 取模,求余 |
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
向上取整函数的上,表示的是正无穷方向的上。
向下取整同理,下指的是负无穷的方向。
mysql> select format(3.1415926,4);//保留四位小数
mysql> select rand();//产生随机数,可以是小数
其他函数
函数名称 | 描述 |
---|---|
user() | 当前用户 |
md5(str) | 对一个字符串进行摘要(加密使用) |
database() | 显示正在使用的数据库 |
password() | 加密与md5类似 |
ifnull(val1,val2) | 如果val1为null,返回val2,否则返回val1的值 |
mysql> select user();
mysql> select database();
mysql> select md5('admin');
mysql> select password('admin');
通常来讲在服务器中存储的密码是以这种加密方式存储的。
mysql> select ifnull(null,'123');//第一个为null返回第二个的值
mysql> select ifnull('1234','123');//第一个不为null返回第一个的值
mysql> select ifnull(null,null);//两个都为null返回null
文章来源:https://blog.csdn.net/wh9109/article/details/134813493
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!