【MySQL学习】MySQL 内置函数

news2024/11/24 8:57:25

文章目录

  • 一、日期函数
  • 二、字符串函数
  • 三、数学函数
  • 四、其他函数


一、日期函数

函数名称功能描述
current_data()获取当前日期
current_time()获取当前时间
current_timestamp()获取当前时间戳
date()返回datetime的日期部分
date_add(date, interval d_value_type)以date为基础,添加日期或者时间,interval 后面指定时间的类型,例如year、month、day等等
date_sub(date, interval d_value_type)以date为基础,减去日期或者时间,interval 后面指定时间的类型,例如year、month、day等等
datediff(date1, date2)两个日期的差,单位是天数
now()获取当前日期时间

获取当前年月日

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

获取当前时分秒

mysql> select current_time();
+----------------+
| current_time() |
+----------------+
| 20:11:07       |
+----------------+
1 row in set (0.00 sec)

获取当前时间戳

mysql> select current_timestamp();
+---------------------+
| current_timestamp() |
+---------------------+
| 2023-05-07 20:12:27 |
+---------------------+
1 row in set (0.00 sec)

获取当前时间戳的日期部分

mysql> select date(current_timestamp());
+---------------------------+
| date(current_timestamp()) |
+---------------------------+
| 2023-05-07                |
+---------------------------+
1 row in set (0.00 sec)

在日期的基础上加天数

mysql> select date_add(current_date, interval 10 day);
+-----------------------------------------+
| date_add(current_date, interval 10 day) |
+-----------------------------------------+
| 2023-05-17                              |
+-----------------------------------------+
1 row in set (0.00 sec)

在日期的基础上减去天数

mysql> select date_sub(current_date, interval 10 day);
+-----------------------------------------+
| date_sub(current_date, interval 10 day) |
+-----------------------------------------+
| 2023-04-27                              |
+-----------------------------------------+
1 row in set (0.00 sec)

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

mysql> select datediff('2023-5-7', '2023-1-1');
+----------------------------------+
| datediff('2023-5-7', '2023-1-1') |
+----------------------------------+
|                              126 |
+----------------------------------+
1 row in set (0.00 sec)

二、字符串函数

函数名称功能描述
charset(str)返回字符串对应的字符集
concat(string2, […, …])连接字符串
instr(string, substring)返回substring在string中出现的位置,没有则返回0
ucase(str)转化为大写
lcase(str)转化为小写
left(str, length)从str左边起取length个字符
right(str, length)从str右边起取length个字符
length(str)获取str的长度
replace(str, search_str, replace_str)在str中,用replace_str替换search_str
substring(str, position, [length])从str的position位置开始,截取length长度的字符串
strcmp(str1, str2)逐字符比较两字符串大小,相对返回0,前者大返回1,否则返回-1
ltrim(str)、rtrim(str)、trim(str)去除字符串前后的空格

charset函数

由此可见,数字在数据库中是以二进制的形式存储的。

concat函数

instr函数


说明在MySQL中,字符的第一个位置的下标是1,而不是0。

ucase函数和lcase函数

left函数

right函数

length函数


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

replace函数

substring函数

strcmp函数

ltrim、rtrim、trim函数

三、数学函数

函数名称功能描述
abs(number)绝对值函数
ceiling(number)向上取整
floor(number)向下取整
bin(decimal_num)十进制转二进制
hex(decimal_num)十进制转十六进制
conv(number, from_base, to_base)进制转换
format(number, decimal_places)格式化,保留小数位数
rand()返回随机浮点数,范围[0.0, 1.0)
mod(number, denominator)取模求余

取绝对值

向上取整

向下取整

保留两位小数(小数四舍五入)

产生随机数

四、其他函数

  • user()函数用于查询当前用户

  • md5(str)函数用于对一个字符串进行md5摘要,摘要后得到一个32位字符串

值得一提的是:

  • 一般情况下公司内部数据库不会存储用户的明文密码,而会将用户密码形成摘要后存储对应的摘要,当用户登录账号时,将用户输入的的密码形成摘要后与数据库中存储的摘要做对比,如果对比成功则允许登录。
  • 这么做的好处主要有两个,第一个好处就是公司内部数据库中存储的不是用户的明文信息,就算用户信息泄露了也不会产生太大影响,第二个好处就是形成的摘要是定长的,这样有利于数据库表结构的设计。
  • database()显示当前正在使用的数据库

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


password函数和md5函数类似,只是password函数专门用于对MySQL用户的登录密码进行加密的。另外,我有一个有趣的发现,那就是MySQL不会对出现password或者md5的SQL语句做历史记录,因此在命令行模式按上下键找不到刚才执行过的SQL语句,一定程度上也保护了明文密码的安全。

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


ifnull函数其实就相当于C/C++中的三目运算符。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/499818.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【2023/05/07】汇编语言

Hello!大家好,我是霜淮子,2023倒计时第2天。 Share Stray birds of summer come to my window to sing and fly away. And yellow leaves of autumn,which have no songs,flutter and full there with a sigh. 译文: 夏天的鸟&…

网络学习笔记

【1】路由器与交换机的区别与联系 https://blog.csdn.net/baidu_32045201/article/details/78305586 交换机:用于局域网内网的数据转发 路由器:用于连接局域网和外网 【2】IP地址 1)IP地址是Internet中主机的标识 2)Internet中…

OpenCV学习12 用色调、饱和度和亮度表示颜色

BGR转HSV 效果&#xff1a; 代码&#xff1a; #include <iostream> #include <opencv2/imgproc/imgproc.hpp> #include <opencv2/highgui/highgui.hpp>using namespace cv;int main() {Mat dog imread("/home/jason/work/01-img/dog.png");// -…

Codeforces Round 871 (Div. 4)——G题讲解

蒟蒻来讲题&#xff0c;还望大家喜。若哪有问题&#xff0c;大家尽可提&#xff01; Hello, 大家好哇&#xff01;本初中生蒟蒻讲解一下G. Hits Different! 上绿名喽&#xff01; G. Hits Different 题目描述 In a carnival game, there is a huge pyramid of cans with 20…

SmartSoftHelp 自定义开源C#代码生成器

​​​​​​蓦然回首终结者SmartSoftHelp开发辅助工具MiniLite2.0迷你版 V3.5 自定义生成 dbhelper Model BLL DAL sqltxt UI 方便快捷&#xff0c;支持自编码&#xff0c;自编译&#xff0c;自己修改生成代码内容和格式&#xff0c;方便快捷... 开源代码生成说明: 1.目录…

python+django汽车4S店零配件保养服务管理系统

汽车4S服务管理系统包括三种用户。管理员、普通员工、客户。 开发语言&#xff1a;Python 框架&#xff1a;django/flask Python版本&#xff1a;python3.7.7 数据库&#xff1a;mysql 数据库工具&#xff1a;Navicat 开发软件&#xff1a;PyCharm django 应用目录结构管…

vue diff算法与虚拟dom知识整理(5) 手写一个自己的h函数

本文的意义在于教会大家如何手写一个h函数 上文中 我们简单理解了一下h函数 他的作用是构建一个虚拟的dom节点 掌握这个函数还是很有必要的 首先 你想要写出来 还是得去看原版的ts代码 这边 我们没必要把太多注意力放在TS上 所以 我们这边是看ts代码 然后 仿写js代码 我们在…

Faster RCNN在pycharm中运行

文章目录 1 代码2 文件说明3 代码解析5 数据6 自制数据集6.1 创建文件夹6.2 标注图片 7 开始训练 1 代码 参考B站up主&#xff1a;霹雳吧啦Wzgit clone https://github.com/WZMIAOMIAO/deep-learning-for-image-processing 2 文件说明 首先找到faster_rcnn ├── backbone: …

PCL学习七:Features-特征

参考引用 Point Cloud Library黑马机器人 | PCL-3D点云 1. 特征描述与提取 3D 点云特征描述与提取是点云信息处理中的最基础也是最关键的部分&#xff0c;点云识别、分割、重采样、配准和曲面重建等大部分算法&#xff0c;都十分依赖特征描述与提取的结果 从尺度上来划分&…

MYSQL01高级_Linux版安装、各级别字符集、字符集与比较规则、SQL大小写规范

文章目录 ①. MySQL - linux版安装②. 字符集的相关操作③. 各级别的字符集④. 字符集与比较规则(了解)⑤. SQL大小写规范⑥. sql_mode的合理设置 ①. MySQL - linux版安装 ①. 进入mysql官网,找到安装文件 ②. 将抽取出来的文件放在linux下的opt下 MySQL Community Serv…

本周大新闻|15000nit亮度Micro OLED面世;印度市场再推行VR盒子

本周XR大新闻&#xff0c;AR方面&#xff0c;eMagin公布1.5万nit亮度的新款dPd Micro OLED&#xff1b;脑机技术AR眼镜Cognixion ONE获FDA认证&#xff1b;歌尔发布智能交互手环参考设计Link&#xff1b;Meta引入更多AR广告。 VR方面&#xff0c;23年Quest Gaming Showcase定于…

3D旋转 相册

效果展示 代码逻辑 <!doctype html> <html lang"en"> <head><meta charset"UTF-8"><meta name"Keywords" content""><meta name"Description" content""><title>3D旋…

Vue3(Vite) 通过 prism.js 实现代码高亮并实现Mac风格

prismjs漂亮的代码语法高亮插件 极致易用&#xff1a;引用 prism.css 和 prism.js&#xff0c;使用合适的 HTML5 标签&#xff08;code.language-xxxx&#xff09;&#xff0c;搞定&#xff01;天生伶俐&#xff1a;语言的 CSS 类是可继承的&#xff0c;所以你只需定义一次就能…

自动控制原理笔记-频率响应法-控制系统的频域稳定判据

目录 一、Nyquist稳定判据 1&#xff09;开环传递函数中没有积分环节&#xff08;不含s0的极点&#xff09; 2&#xff09;开环传递函数中含有积分环节&#xff08;含s0的开环极点&#xff09; 二、Bode 稳定判据 稳定的定义&#xff1a; 任何系统在扰动的作用下都会偏离原平衡…

炫技亮点 任务编排使用CompletableFuture优化业务流程

文章目录 背景CompletableFuture简介使用场景如何编排任务步骤场景一 多个任务串行执行场景二 多个步骤并行执行场景三 一个串行步骤后两个并行步骤场景四 一个步骤依赖两个并行步骤场景五 一个步骤依赖多个并行步骤同时完成场景六 一个任务依赖多个任务的任意一个完成结果 其他…

STL--stack queue deque

stack 一、stack介绍 stack是一种容器适配器&#xff0c;专门设计用于后进先出&#xff0c;其中元素仅从容器的一端插入和提取 二、stack接口 函数名称功能说明empty判断容器是否为空size返回容器容量大小top返回栈顶数据push从栈顶插入元素pop删除栈顶元素 三、stack模拟实…

【NLP开发】Python实现聊天机器人(若干在线聊天机器人)

文章目录 1、简介2、代码测试2.1 open.drea.cc2.2 api.ruyi.ai2.3 route.showapi.com2.4 api.binstd.com2.5 api.jisuapi.com2.6 api.fanyi.baidu.com2.7 aiml2.8 api.tianapi.com2.9 nlp.xiaoi.com2.10 api.qingyunke.com2.11 api.ownthink.com 结语 1、简介 AI 聊天机器人使…

Chrome远程调试

最近接触到Chrome远程调试相关内容&#xff0c;记录一下。 场景&#xff1a;使用Chrome远程调试Chromium。当能够控制目标主机执行命令之后&#xff0c;可以在该主机上建立全局代理&#xff0c;然后在自己这一边开启浏览器监听&#xff0c;接着在目标机器上执行 chrome.exe --…

使用CSS伪元素制作动感超酷的hover动画

css 有很多神奇的效果都是使用 CSS 伪元素利用视觉差来制作的&#xff0c;以前没怎么深入的研究过 css&#xff0c;这次复习 css 的知识点才恍然大悟&#xff0c;原来 css 这么 cool。 先上效果&#xff1a; 动画实现原理 这个组动画的实现原理很简单&#xff0c;前边是一个…

ptrace

前言 gdb 的核心技术就是使用 ptrace 系统调用。 ptrace NAMEptrace - process traceSYNOPSIS#include <sys/ptrace.h>long ptrace(enum __ptrace_request request, pid_t pid,void *addr, void *data);DESCRIPTIONThe ptrace() system call provides a means by w…