〔 MySQL 〕之内置函数

embedded/2024/11/27 20:32:15/

目录

1 日期函数

​编辑

 2 字符串函数​编辑

   3 数学函数

  4 其它函数

5 实战OJ

              ●   查找字符串中逗号出现的次数_牛客题霸_牛客网


1 日期函数


        ●  获得年月日:

select current_date();+----------------+| current_date() |+----------------+| 2017-11-19 |+----------------+

       ●  获得时分秒:

select current_time();+----------------+| current_time() |+----------------+| 13:51:21 |+----------------+

       ●  获得时间戳:

select current_timestamp();+---------------------+| current_timestamp() |+---------------------+| 2017-11-19 13:51:48 |+---------------------+

       ●  在日期的基础上加日期:

select date_add('2017-10-28', interval 10 day);+-----------------------------------------+| date_add('2017-10-28', interval 10 day) |+-----------------------------------------+| 2017-11-07 |+-----------------------------------------+

       ●  在日期的基础上减去时间:

select date_sub('2017-10-1', interval 2 day);+---------------------------------------+| date_sub('2017-10-1', interval 2 day) |+---------------------------------------+| 2017-09-29 |+---------------------------------------+

       ●  计算两个日期之间相差多少天:

select datediff('2017-10-10', '2016-9-1');+------------------------------------+| datediff('2017-10-10', '2016-9-1') |+------------------------------------+| 404 |+------------------------------------+

   案例-1:

      ●  创建一张表,记录生日

create table tmp(id int primary key auto_increment,birthday date
);

       ●  添加当前日期:

insert into tmp(birthday) values(current_date());

案例-2:

       ●  创建一个留言表

mysql> create table msg (id int primary key auto_increment,content varchar(30) not null,sendtime datetime
);

       ●  插入数据

mysql> insert into msg(content,sendtime) values('hello1', now());
mysql> insert into msg(content,sendtime) values('hello2', now());
mysql> select * from msg;
+----+---------+---------------------+
| id | content | sendtime |
+----+---------+---------------------+
| 1 | hello1 | 2017-11-19 14:12:20 |
| 2 | hello2 | 2017-11-19 14:13:21 |
+----+---------+---------------------+mysql> insert into msg(content,sendtime) values('hello1', now());
mysql> insert into msg(content,sendtime) values('hello2', now());
mysql> select * from msg;
+----+---------+---------------------+
| id | content | sendtime |
+----+---------+---------------------+
| 1 | hello1 | 2017-11-19 14:12:20 |
| 2 | hello2 | 2017-11-19 14:13:21 |
+----+---------+---------------------+select content,date(sendtime) from msg;select * from msg where date_add(sendtime, interval 2 minute) > now();
理解:
------------------------------|-----------|-------------|------------------
初始时间 now() 初始时间+2min

       ●  显示所有留言信息,发布日期只显示日期,不用显示时间

select content,date(sendtime) from msg;

       ●  请查询在2分钟内发布的帖子

select * from msg where date_add(sendtime, interval 2 minute) > now();理解:------------------------------|-----------|-------------|------------------初始时间      now()      初始时间+2min

 2 字符串函数

 案例:

     ● 获取emp表的ename列的字符集

select charset(ename) from EMP;

       ●  求显示exam_result表中的信息,显示格式:“XXX的语文是XXX分,数学XXX分,英语XXX分”

select concat(name, '的语文是',chinese,'分,数学是',math,'分') as '分数' from
student;

       ●  要求学生表中学生姓名占用的字节数

select length(name), name from student;

注意:length函数返回字符串长度,以字节为单位。如果是多字节字符则计算多个字节数;
如果是单字节字符则算作一个字节。比如:字母,数字算作一个字节,中文表示多个字节数
(与字符集编码有关)
 

    ●  将EMP表中所有名字中有S的替换成'上海'

select replace(ename, 'S', '上海') ,ename from EMP;

       ●  截取EMP表中ename字段的第二个到第三个字符

select substring(ename, 2, 2), ename from EMP;

       ●  以首字母小写的方式显示所有员工的姓名

select concat(lcase(substring(ename, 1, 1)),substring(ename,2)) from EMP;

   3 数学函数

    ●  绝对值

select abs(-100.2);

       ●  向上取整

select ceiling(23.04);

       ●  向下取整

select floor(23.7);

       ●  保留2位小数位数(小数四舍五入)

select format(12.3456, 2);

       ●  产生随机数

select rand();

  4 其它函数
 

      ●  user() 查询当前用户

select user();

       ●  md5(str)对一个字符串进行md5摘要,摘要后得到一个32位字符串

select md5('admin')
+----------------------------------+
| md5('admin') |
+----------------------------------+
| 21232f297a57a5a743894a0e4a801fc3 |
+----------------------------------+

       ●  database()显示当前正在使用的数据库

select database();

       ●  password()函数,MySQL数据库使用该函数对用户加密

select password('root');+-------------------------------------------+| password('root') |+-------------------------------------------+| *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |+-------------------------------------------+

       ●  ifnull(val1, val2) 如果val1为null,返回val2,否则返回val1的值

select ifnull(null, '123');+---------------------+| ifnull(null, '123') |+---------------------+| 123 |+---------------------+
1 row in set (0.00 sec)

5 实战OJ

              ●   查找字符串中逗号出现的次数_牛客题霸_牛客网


http://www.ppmy.cn/embedded/140998.html

相关文章

基于IPMI的服务器硬件监控指标解读

在现代化数据中心中,服务器的稳定运行对于保障业务连续性至关重要。为了实时掌握服务器的健康状况,运维团队需要借助高效的监控工具。监控易作为一款功能强大的监控软件,支持使用IPMI(Intelligent Platform Management Interface&…

AI加持,华为全屋智能品牌升级为“鸿蒙智家”

1.传统智能家居的困境:从便利到繁琐 近年来,智能家居因其便捷性和科技感受到消费者的青睐。然而,随着用户需求的多样化,传统智能家居的弊端逐渐显现: 设备连接复杂,品牌间兼容性不足,用户不得不…

前端:base64的作用

背景 项目中发现,img标签中写src,读取一个png图片,只有16kb,速度特别慢。 解决办法,将图片转为base64,然后读取,速度特别快17ms就解决。 定义:base64是一种基于64个可打印字符(A-…

AWS IAM 及其功能

IAM 代表身份和访问管理,可帮助控制谁可以进入云、访问 AWS 资源以及进入后可以做什么。 身份: IAM 帮助管理可以与 AWS 资源交互的身份(如用户名或服务帐户)。 访问:它决定每个身份可以在 AWS 服务上执行哪些操作&am…

2024年9月中国电子学会青少年软件编程(Python)等级考试试卷(六级)答案 + 解析

一、单选题 1、下面代码运行后出现的图像是?( ) import matplotlib.pyplot as plt import numpy as np x np.array([A, B, C, D]) y np.array([30, 25, 15, 35]) plt.bar(x, y) plt.show() A. B. C. D. 正确答案:A 答案…

【mac】终端左边太长处理,自定义显示名称(terminal路径显示特别长)

1、打开终端 2、步骤 (1)修改~/.zshrc文件 nano ~/.zshrc(2)添加或修改PS1,我是自定义了名字为“macminiPro” export PS1"macminiPro$ "(3)使用 nano: Ctrl o (字母…

如何使用 Python 开发一个简单的文本数据转换为 Excel 工具

目录 一、准备工作 二、理解文本数据格式 三、开发文本数据转换为Excel工具 读取CSV文件 将DataFrame写入Excel文件 处理其他格式的文本数据 读取纯文本文件: 读取TSV文件: 四、完整代码与工具封装 五、使用工具 六、总结 在数据分析和处理的日常工作中,我们经常…

CSS中flex:1是什么属性

flex: 1 是 CSS 中的一个简写属性,用于设置 Flex 项目的灵活伸缩比例(flex-grow)、收缩比例(flex-shrink)以及基础大小(flex-basis)。具体来说,flex: 1 实际上是以下三个属性的简写&…