当前位置: 首页 > news >正文

MySQL内置函数

文章目录

  • 日期函数
  • 字符串函数
  • 数学函数
  • 其他函数

日期函数

在这里插入图片描述

获取年月日:

mysql> select current_date();
+----------------+
| current_date() |
+----------------+
| 2023-02-01     |
+----------------+
1 row in set (0.00 sec)

获得时分秒:

mysql> select current_time();
+----------------+
| current_time() |
+----------------+
| 01:10:26       |
+----------------+
1 row in set (0.00 sec)

获取时间戳:

mysql> select current_timestamp();
+---------------------+
| current_timestamp() |
+---------------------+
| 2023-02-01 01:11:08 |
+---------------------+
1 row in set (0.00 sec)

在日期的基础上加日期:

mysql> select date_add('2013-10-01', interval 10 day);
+-----------------------------------------+
| date_add('2013-10-01', interval 10 day) |
+-----------------------------------------+
| 2013-10-11                              |
+-----------------------------------------+
1 row in set (0.00 sec)

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

mysql> select date_sub('2013-10-01', interval 10 day);
+-----------------------------------------+
| date_sub('2013-10-01', interval 10 day) |
+-----------------------------------------+
| 2013-09-21                              |
+-----------------------------------------+
1 row in set (0.00 sec)

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

mysql> select datediff('2023-02-01', '1949-10-01');
+--------------------------------------+
| datediff('2023-02-01', '1949-10-01') |
+--------------------------------------+
|                                26786 |
+--------------------------------------+
1 row in set (0.00 sec)

案例:

创建一张表,记录生日:

mysql> create table birthday (-> id int unsigned primary key auto_increment,-> birthday date-> );
Query OK, 0 rows affected (0.02 sec)

添加当前日期:

mysql> insert into birthday (birthday) values (current_date());
Query OK, 1 row affected (0.00 sec)mysql> select * from birthday;
+----+------------+
| id | birthday   |
+----+------------+
|  1 | 2023-02-01 |
+----+------------+
1 row in set (0.00 sec)

案例:
创建一个留言表:

mysql> create table msg (-> id int unsigned primary key auto_increment,-> content varchar(30) not null,-> sendtime datetime-> );
Query OK, 0 rows affected (0.02 sec)

插入数据:

mysql> insert into msg (content, sendtime) values ('hello world', now());
Query OK, 1 row affected (0.01 sec)mysql> insert into msg (content, sendtime) values ('hello mysql', now());
Query OK, 1 row affected (0.01 sec)mysql> select * from msg;
+----+-------------+---------------------+
| id | content     | sendtime            |
+----+-------------+---------------------+
|  1 | hello world | 2023-02-01 01:21:23 |
|  2 | hello mysql | 2023-02-01 01:21:30 |
+----+-------------+---------------------+
2 rows in set (0.00 sec)

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

mysql> select content, date(sendtime) from msg;
+-------------+----------------+
| content     | date(sendtime) |
+-------------+----------------+
| hello world | 2023-02-01     |
| hello mysql | 2023-02-01     |
+-------------+----------------+
2 rows in set (0.00 sec)

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

mysql> select * from msg;
+----+-------------+---------------------+
| id | content     | sendtime            |
+----+-------------+---------------------+
|  1 | hello world | 2023-02-01 01:21:23 |
|  2 | hello mysql | 2023-02-01 01:21:30 |
|  3 | hello Linux | 2023-02-01 01:24:34 |
+----+-------------+---------------------+
3 rows in set (0.00 sec)mysql> select content, sendtime from msg where date_add(sendtime, interval 2 minute) > now();
+-------------+---------------------+
| content     | sendtime            |
+-------------+---------------------+
| hello Linux | 2023-02-01 01:24:34 |
+-------------+---------------------+
1 row in set (0.00 sec)

字符串函数

在这里插入图片描述

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

mysql> select charset(ename) from emp limit 1;
+----------------+
| charset(ename) |
+----------------+
| utf8           |
+----------------+
1 row in set (0.00 sec)

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

mysql> select concat(name, '的语文是', chinese, '分,数学', math, '分,英语', english, '分') from exam_result;
+---------------------------------------------------------------------------------------------+
| concat(name, '的语文是', chinese, '分,数学', math, '分,英语', english, '分')              |
+---------------------------------------------------------------------------------------------+
| 唐三藏的语文是134分,数学98分,英语56|
| 猪悟能的语文是176分,数学98分,英语90|
| 曹孟德的语文是140分,数学90分,英语67|
| 刘玄德的语文是110分,数学115分,英语45|
| 孙权的语文是140分,数学73分,英语78|
| 宋公明的语文是150分,数学95分,英语30|
+---------------------------------------------------------------------------------------------+
6 rows in set (0.00 sec)

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

mysql> select name, length(name) from students;
+----------+--------------+
| name     | length(name) |
+----------+--------------+
| Curry    |            5 |
| Durant   |            6 |
| Bryant   |            6 |
| Mitchell |            8 |
+----------+--------------+
4 rows in set (0.00 sec)

将EMP表中所有名字中有S的替换成’数据库’

mysql> select replace(ename, 'S', '数据库'), ename from emp;
+----------------------------------+--------+
| replace(ename, 'S', '数据库')    | ename  |
+----------------------------------+--------+
| 数据库MITH                       | SMITH  |
| ALLEN                            | ALLEN  |
| WARD                             | WARD   |
| JONE数据库                       | JONES  |
| MARTIN                           | MARTIN |
| BLAKE                            | BLAKE  |
| CLARK                            | CLARK  |
| 数据库COTT                       | SCOTT  |
| KING                             | KING   |
| TURNER                           | TURNER |
| ADAM数据库                       | ADAMS  |
| JAME数据库                       | JAMES  |
| FORD                             | FORD   |
| MILLER                           | MILLER |
+----------------------------------+--------+
14 rows in set (0.00 sec)

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

mysql> select substring(ename, 2, 2), ename from emp;
+------------------------+--------+
| substring(ename, 2, 2) | ename  |
+------------------------+--------+
| MI                     | SMITH  |
| LL                     | ALLEN  |
| AR                     | WARD   |
| ON                     | JONES  |
| AR                     | MARTIN |
| LA                     | BLAKE  |
| LA                     | CLARK  |
| CO                     | SCOTT  |
| IN                     | KING   |
| UR                     | TURNER |
| DA                     | ADAMS  |
| AM                     | JAMES  |
| OR                     | FORD   |
| IL                     | MILLER |
+------------------------+--------+
14 rows in set (0.00 sec)

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

mysql> select concat(lcase(substring(ename, 1, 1)), substring(ename, 2)) from emp;
+------------------------------------------------------------+
| concat(lcase(substring(ename, 1, 1)), substring(ename, 2)) |
+------------------------------------------------------------+
| sMITH                                                      |
| aLLEN                                                      |
| wARD                                                       |
| jONES                                                      |
| mARTIN                                                     |
| bLAKE                                                      |
| cLARK                                                      |
| sCOTT                                                      |
| kING                                                       |
| tURNER                                                     |
| aDAMS                                                      |
| jAMES                                                      |
| fORD                                                       |
| mILLER                                                     |
+------------------------------------------------------------+
14 rows in set (0.00 sec)

数学函数

在这里插入图片描述
绝对值:

mysql> select abs(-200);
+-----------+
| abs(-200) |
+-----------+
|       200 |
+-----------+
1 row in set (0.00 sec)

向上取整:

mysql> select ceiling(8.1);
+--------------+
| ceiling(8.1) |
+--------------+
|            9 |
+--------------+
1 row in set (0.00 sec)mysql> select ceiling(-8.1);
+---------------+
| ceiling(-8.1) |
+---------------+
|            -8 |
+---------------+
1 row in set (0.00 sec)

向下取整:

mysql> select floor(8.6);
+------------+
| floor(8.6) |
+------------+
|          8 |
+------------+
1 row in set (0.00 sec)mysql> select floor(-8.6);
+-------------+
| floor(-8.6) |
+-------------+
|          -9 |
+-------------+
1 row in set (0.00 sec)

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

mysql> select format(12.456, 1);
+-------------------+
| format(12.456, 1) |
+-------------------+
| 12.5              |
+-------------------+
1 row in set (0.00 sec)

十进制转二进制:

mysql> select bin(12);
+---------+
| bin(12) |
+---------+
| 1100    |
+---------+
1 row in set (0.00 sec)

转化成十六进制:

mysql> select hex(10);
+---------+
| hex(10) |
+---------+
| A       |
+---------+
1 row in set (0.00 sec)

随机数:

mysql> select rand();
+--------------------+
| rand()             |
+--------------------+
| 0.7938835246431488 |
+--------------------+
1 row in set (0.00 sec)

其他函数

user() 查询当前用户:

mysql> select user();
+----------------+
| user()         |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)

md5(str)对一个字符串进行md5摘要,摘要后得到一个32位字符串,相当于对内容进行加密:

mysql> select md5('root');
+----------------------------------+
| md5('root')                      |
+----------------------------------+
| 63a9f0ea7bb98050796b649e85481845 |
+----------------------------------+
1 row in set (0.00 sec)

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

mysql> select database();
+------------+
| database() |
+------------+
| scott      |
+------------+
1 row in set (0.00 sec)

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

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

相关文章:

MySQL内置函数

文章目录日期函数字符串函数数学函数其他函数日期函数 获取年月日: mysql> select current_date(); ---------------- | current_date() | ---------------- | 2023-02-01 | ---------------- 1 row in set (0.00 sec)获得时分秒: mysql> se…...

mysql数据库之innodb存储引擎架构之内存架构

一、逻辑存储结构 mysql5.5版本开始,默认使用innodb存储引擎,它擅长事务处理,具有崩溃恢复特性,在日常开发中使用非常广泛。 架构图(左侧为内存架构,右侧为磁盘架构) 二、 内存架构。 1、缓冲…...

Vue:(三十五)路由vue-router

今天,我们开始学习vue中一个很关键的知识点,路由。理解vue的一个插件库,专门用来实现SPA应用单页web应用整个应用只有一个完整的页面点击页面中的导航连接不会刷新页面,只会做页面的局部更新数据需要通过ajax请求获取下来&#xf…...

Dynabook笔记本电脑无法开机怎么重装新系统?

Dynabook笔记本电脑无法开机怎么重装新系统?有用户使用Dynabook笔记本电脑出现了无法正常开机的情况。遇到这样的问题是我们的电脑系统出现了损坏,可以尝试进行系统修复。如果无法修复的话,就需要进行系统重装了。以下为大家带来Dynabook笔记…...

React Native基础知识点

1、组件 与react编写web应用不同&#xff0c;不是使用div、span等标签。而是使用RN官方提供的组件&#xff0c;如View、Text等组件来搭建页面 2、宽高 React Native 中的尺寸都是无单位的&#xff0c;表示的是与设备像素密度无关的逻辑像素点。默认值为auto <View style{{…...

nginx 平滑升级

背景介绍 因为一些原因&#xff0c;比如说 Nginx 发现漏洞、应用一些新的模块等等&#xff0c;想对 Nginx 的版本进行更新&#xff0c;最简单的做法就是停止当前的 Nginx 服务&#xff0c;然后开启新的 Nginx 服务。但是这样会导致在一段时间内&#xff0c;用户是无法访问服务…...

数据结构——链表OJ题目讲解(2)

作者&#xff1a;几冬雪来 时间&#xff1a;2023年3月10日 内容&#xff1a;数据结构链表OJ题目讲解 来源&#xff1a;牛客网和力扣 目录 前言&#xff1a; 刷题&#xff1a; 1.反转链表&#xff1a; 1.改变指向的解法&#xff1a; 2.取头结点插入到新链表&#xff1a; …...

GitHub上线重量级分布式事务笔记,再也不怕面试官问分布式了

分布式事务就是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。简单的说&#xff0c;就是一次大的操作由不同的小操作组成&#xff0c;这些小的操作分布在不同的服务器上&#xff0c;且属于不同的应用&#xff0c;分布式…...

C++语法规则1(C++面向对象 )

C面向对象 面向对象的三大特征是继承&#xff0c;多态和封装&#xff0c;C重面向对象重要的就是这些&#xff0c;我们下面通过一些简单的实例加以理解&#xff0c;从这小节开始&#xff0c;我们将开启新的编程旅途。与 C 语言编程的思想完全不同了&#xff0c;这就是 C!理解概…...

Web漏洞-CSRF漏洞

CSRF漏洞介绍&#xff1a;CSRF&#xff08;Cross-Site Request Forgery&#xff09;&#xff0c;中文名称&#xff1a;跨站请求伪造&#xff0c;是一种劫持用户在当前已登录的Web应用程序上执行非本意操作一种攻击.原理&#xff1a;攻击者利用目标用户的身份&#xff0c;执行某…...

Python3-面向对象

Python3 面向对象 Python从设计之初就已经是一门面向对象的语言&#xff0c;正因为如此&#xff0c;在Python中创建一个类和对象是很容易的。本章节我们将详细介绍Python的面向对象编程。 如果你以前没有接触过面向对象的编程语言&#xff0c;那你可能需要先了解一些面向对象…...

拐点!新能源车交付均价首次「低于」燃油车,智能电动成新爆点

2023年开局&#xff0c;随着特斯拉打响新能源汽车市场的「价格战」首炮&#xff0c;除部分燃油车品牌&#xff08;仍依赖自身多年的用户和品牌积累的溢价能力&#xff09;没有跟进之外&#xff0c;几乎所有的新能源车型都在进行车型价格的下调。 而数据也在反映市场的拐点即将来…...

JavaScript String 字符串对象实例合集

文章目录JavaScript String 字符串对象实例合集返回字符串的长度为字符串添加样式返回字符串中指定文本首次出现的位置 - indexOf()方法查找字符串中特定的字符&#xff0c;若找到&#xff0c;则返回该字符 - match() 方法替换字符串中的字符 - replace()JavaScript String 字符…...

实习生培养计划

部门最近入职了实习生&#xff0c;为了更好的帮助实习生完成由学生向职业人的转变&#xff0c;并尽快融入企业稳步成长&#xff0c;现提出实习生培养计划&#xff0c;具体方案如下&#xff1a; 1、方案目的 1、使实习生快速转换角色与心态&#xff0c;适应从校园到企业的坏境…...

【服务器管理】Wordpress服务器内存占用太高(优化方案详解)

简述 在刚刚配置完服务器之后&#xff0c;想着试一试wordpress这个功能&#xff0c;结果打开服务器后台&#xff0c;发现本来就不多的内存被占用了一大半。 我真的服了&#xff0c;我还啥都没干呢&#xff0c;就这么多的内存占用&#xff0c;那之后我开始弄了还得了。因此有必…...

【ECCV 2022】76小时动捕,最大规模数字人多模态数据集开源

随着元宇宙的火爆以及数字人建模技术的商业化&#xff0c;AI 数字人驱动算法&#xff0c;作为数字人动画技术链的下一关键环节&#xff0c;获得了学界和工业界越来越广泛的兴趣和关注。其中谈话动作生成 &#xff08;由声音等控制信号生成肢体和手部动作&#xff09;由于可以降…...

联合解决方案 | 亚信科技AntDB数据库携手浪潮K1 Power赋能关键行业数字化转型,助力新基建

自2022年印发《“十四五”数字经济发展规划》以来&#xff0c;我国数字化发展进入快车道。数据库作为数据存储与计算的基础软件&#xff0c;对筑牢数字经济底座至关重要。服务器是承载数据的重要载体&#xff0c;在数据库性能可以通过扩容而无上限提升的情况下&#xff0c;数据…...

Android 单元测试问题总结(Robolectric+JUnit)

代码单元测试问题总结&#xff1a; 1、测试类中引用第三方jar包类报错 问题原因&#xff1a; 测试的库中没有包含第三方jar包。 解决办法&#xff1a; 在app下gradle中加入第三方jar包配置&#xff1a; testImplementation files(‘libs/third.jar’) 2、自定义Shadow类不生…...

专项攻克——二叉树

文章目录一、二叉树定义、分类二、二叉树的存储结构三、创建二叉树四、遍历方式一、二叉树定义、分类 二叉树&#xff1a;是N个结点的有序集合&#xff0c;该集合或者为空集&#xff0c;或者由一个根节点跟两棵互不相交的、分别称为根节点的左子树或者右子树的二叉树组成。每个…...

PACS系统源码 PACS源码 三维重建PACS源码

一、系统概述&#xff1a; ​基于VC MSSQL开发的一套三甲医院医学影像PACS系统源码&#xff0c;集成3D影像后处理功能&#xff0c;包括三维多平面重建、三维容积重建、三维表面重建、三维虚拟内窥镜、最大/小密度投影、心脏动脉钙化分析等功能。系统功能强大&#xff0c;代码…...

利用Mysql存储过程造百万级数据

1.准备工作&#xff08;1&#xff09;由于是使用存储过程&#xff0c;mysql从5.0版开始支持存储过程&#xff0c;那么需要mysql的版本在5.0或者以上。如何查看mysql的版本&#xff0c;使用下面sql语句查看&#xff1a;&#xff08;2&#xff09;创建两张表&#xff0c;表结构一…...

Vue2组件之间的传值通信

父子组件Vue中常见的是父与子组件间的通信&#xff0c;所要用到的关键字段是props和$emit。props接受父组件传给子组件信息的字段&#xff0c;它的类型&#xff1a;Array<string> | Object;详细解释可以参考https://cn.vuejs.org/v2/api/#props$emit由子组件触发事件向上…...

Spring Boot官方例子《Developing Your First Spring Boot Application》无法运行

官方的第一个例子就卡住了&#xff1a; https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#getting-started.first-application 按照要求&#xff0c;一步一步走&#xff1a; 查看Java版本和MVN版本&#xff1a; $ java -version openjdk version &quo…...

数据结构(3)— 线性表之顺序存储详解介绍(含代码)

&#xff08;1&#xff09;博客代码在数据结构代码---GitHub仓库&#xff1b;线性表介绍线性表的基础概念&#xff08;1&#xff09;甲骨文表示&#xff1a;线性表是零个或多个数据元素的有限序列。&#xff08;2&#xff09;线性表&#xff0c;顾名思义&#xff0c;就是说这个…...

ChatGPT正当时,让我们一起深耕智能内容生成和智能内容增强领域

ChatGPT以其强大的信息整合和对话能力惊艳了全球&#xff0c;在自然语言处理上面表现出了惊人的能力。很多人都预测 2023 年将是 AI 生成之年&#xff0c;也许我们将迎来继农业革命、工业革命以来的第三种通用技术的普及。 信必优长期专注于人工智能领域&#xff0c;拥有产品研…...

天梯赛训练L1-019 (谁先倒)

目录 1、L1-019 谁先倒 2、如果帮到大家&#xff0c;请大家一键三连&#xff01;&#xff01;&#xff01; 3、读书吧&#xff0c;在落幕无光时找到方向&#xff01;&#xff01;&#xff01; 1、L1-019 谁先倒 分数 15 题目通道 划拳是古老中国酒文化的一个有趣的组成部分…...

MySQL DQL语句基础(一)

目录 DQL 基本语法 基础查询 1、查询多个字段 2、字段设置别名 3、去除重复记录 条件查询 语法 条件 案例 聚合函数 常见的聚合函数 语法 DQL DQL英文全称是Data Query Language(数据查询语言)&#xff0c;数据查询语言&#xff0c;用来查询数据库中表的记录。 基…...

ccc-pytorch-LSTM(8)

文章目录一、LSTM简介二、LSTM中的核心结构三、如何解决RNN中的梯度消失/爆炸问题四、情感分类实战&#xff08;google colab&#xff09;一、LSTM简介 LSTM&#xff08;long short-term memory&#xff09;长短期记忆网络&#xff0c;RNN的改进&#xff0c;克服了RNN中“记忆…...

教育小程序开发解决方案

如今无论是国家还是家庭对于教育的重视性也越来越高&#xff0c;都希望自己的孩子能够赢在起跑线上&#xff0c;但是因为工作的缘故许多家长并没有过多的精力去辅导孩子学习&#xff0c;再加上许多家长对于教育也并没有经验与技巧。而这些都充分体现了正确教育的重要性。 那么一…...

动态规划之股票问题大总结

参考资料&#xff1a;代码随想录 (programmercarl.com)一、只能买卖一次题目链接&#xff1a;121. 买卖股票的最佳时机 - 力扣&#xff08;LeetCode&#xff09;算法思想&#xff1a;设置两种状态:0表示已持有股票&#xff0c;1表示未持有股票1.dp[i][0]表示第i天已持有股票时&…...

怎么做自己的音乐网站/广州从化发布

前言 什么是面向对象&#xff1f;如果接触过其他语言或者了解过面向对象的特征那应该都会有所了解设计的方法&#xff0c;但是没接触过的童鞋来说一脸懵逼呀。 抽象的思维&#xff0c;面向对象设计方法以对象为核心。面向对象的三大特性&#xff1a;①继承 ②多态 ③封装 人类作…...

三水建设网站/html网页制作网站

JavaFX: Maven 重新构建 JFX 项目 官方资料&#xff1a; Modular with Maven 构建 JFX Modular with Gradle 构建 JFX IntelliJ 重新构架项目XhCode Modular with Maven 新建项目添加 archetype File -> New -> Project -> Maven -> Create from archetype ->…...

网站海外推广平台/媒体平台

微软在2002年推出了第一个版本的 .NET Framework&#xff0c;这是一个主要面向Windows 桌面&#xff08;Windows Forms&#xff09;和服务器&#xff08;ASP.NET Web Forms&#xff09;的基础框架。在此之后&#xff0c;PC的霸主地位不断受到其他设备的挑战甚至取代&#xff0c…...

wordpress discuz 织梦/广州网站优化

dataZoom[ //区域缩放{id: dataZoomX,show:true,   //是否显示 组件。如果设置为 false&#xff0c;不会显示&#xff0c;但是数据过滤的功能还存在。backgroundColor:"rgba(47,69,84,0)",  …...

网站 做实名认证/职业技能培训学校

首先我们要知道网卡配置文件的路径&#xff0c;“/etc/sysconfig/network-scripts”&#xff0c;用cd切换目录&#xff0c;找到配置文件。然后用“ls”命令展开本目录下的文件找到自己设置的网卡名&#xff0c;如果是小白不懂&#xff0c;一般第一个文件夹就是再利用“vi”修改…...

做网站页面遇到的问题/西安网站公司推广

std::function仿函数对象 std::function<… …>用来声明函数对象的&#xff0c;换句话说&#xff0c;就和函数指针、Lambda表达式、函数名是一个东西。 std::bind就是将一个函数对象绑定成为另一个函数对象&#xff0c;std::bind的返回值类型是std::function。 头文件 …...