MySQL | 内置函数

目录

1. 日期函数

2. 字符串函数

3. 数学函数

4. 其他函数

4.1. USER()查询当前用户

4.2. MD5(STR)对一个字符串进行md5摘要

4.3. DATABASE()显示当前正在使用的数据库

4.4. PASSWORD()函数,MySQL使用该函数对用户进行加密

4.5. IFNULL(VAL1, VAL2)如果VAL1为NULL,返回VAL2,否则返回VAL1的值


1. 日期函数


获得年月日


SELECT CURRENT_DATE;


获取时分秒

SELECT CURRENT_TIME;


获得时间戳

SELECT CURRENT_TIMESTAMP;


在日期的基础上加日期

SELECT DATE_ADD(CURRENT_DATE, INTERVAL 10 DAY);


在日期的基础上减去时间

SELECT DATE_SUB(CURRENT_DATE, INTERVAL 2 DAY);


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

SELECT DATEDIFF(CURRENT_DATE, '2022-01-01');


简单实用日期函数

案例:创建一个留言表

CREATE TABLE Message (name varchar(20),sendtime datetime
);

插入数据

insert into Message values('01', current_date());
insert into Message values('02', current_date());

显示所有留言信息,只显示日期,不显示时分秒

SELECT name, date(sendtime) FROM Message;

查询在2分钟内发布的贴子

SELECT * FROM Message WHERE DATE_ADD(sendtime, interval 2 minute) > CURRENT_DATE;

2. 字符串函数


charset

SELECT CHARSET('HELLO WORLD');


concat

SELECT CONCAT('HELLO ', 'WORLD ','WELCOME');


instr

SELECT INSTR('AAAHAHABBB', 'HAHA');


ucase

SELECT UCASE('hahaha');


lcase

SELECT LCASE('HAHA');


left

SELECT LEFT('123456789', 2);


right

SELECT RIGHT('123456789', 2);


length

SELECT LENGTH('HELLO WORLD');


replace

SELECT REPLACE('123456789', '5', 'AA');


strcmp

SELECT STRCMP('A','A');
SELECT STRCMP('AB','A');
SELECT STRCMP('A','AB');


substring

SELECT SUBSTRING('123456789', 4);


ltrim,rtrim,trim

SELECT LTRIM('   HELLO');
SELECT RTRIM('HELLO   ');
SELECT TRIM('   HELLO   ');

3. 数学函数


conv

SELECT CONV(123, 10,2);


ceiling

SELECT CEILING(12.1);


floor

SELECT FLOOR(12.9);


format

SELECT FORMAT(0.123456789, 4);

rand

SELECT RAND();

取某一区间内的数

SELECT 5 + FLOOR(5 * RAND());


mod

SELECT MOD(123, 10);

4. 其他函数

4.1. USER()查询当前用户

SELECT USER();

4.2. MD5(STR)对一个字符串进行md5摘要

SELECT MD5('HELLO WORLD');
SELECT LENGTH(MD5('HELLO WORLD'));

4.3. DATABASE()显示当前正在使用的数据库

SELECT DATABASE();

4.4. PASSWORD()函数,MySQL使用该函数对用户进行加密

SELECT PASSWORD(USER());

4.5. IFNULL(VAL1, VAL2)如果VAL1为NULL,返回VAL2,否则返回VAL1的值

SELECT IFNULL('123', '456');
SELECT IFNULL(NULL,'456');
SELECT IFNULL(NULL,NULL);
SELECT IFNULL('123', NULL);

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

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

相关文章

window下安装并使用nvm(含卸载node、卸载nvm、全局安装npm)

window下安装并使用nvm(含卸载node、卸载nvm、全局安装npm) 一、卸载node二、安装nvm三、配置路径和下载源四、使用nvm安装node五、nvm常用命令六、卸载nvm七、全局安装npm、cnpm八、遇到的问题 nvm 全名 node.js version management,顾名思义…

Vivado中的五种仿真模式比较

Vivado中的五种仿真模式 在数字电路设计过程中,通常涵盖三个主要阶段:源代码编写、综合处理以及电路的实现,相应地,电路仿真的应用也与这些阶段紧密相关。根据不同设计阶段的需求,仿真可以被划分为RTL行为级仿真、综合…

练习4-权重衰减(李沐函数简要解析)

环境:练习1的环境 代码详解 0.导入库 import torch from torch import nn from d2l import torch as d2l1.初始化数据 这里初始化出train_iter test_iter 可以查一下之前的获取Fashion数据集后的数据格式与此对应 n_train, n_test, num_inputs, batch_size 20, 100, 200, …

Redis的安全配置有哪些建议?如何防止未授权访问?Redis的监控与告警策略是怎样的?如何及时发现并解决潜在问题?

Redis的安全配置有哪些建议?如何防止未授权访问? Redis的安全配置对于保护系统免受未授权访问和其他潜在风险至关重要。以下是一些建议的安全配置措施: 设置密码并禁用不安全的命令: 为Redis实例设置一个强密码,确保密…

鸿蒙原生应用开发-ArkTS语言基础类库多线程CPU密集型任务TaskPool

CPU密集型任务是指需要占用系统资源处理大量计算能力的任务,需要长时间运行,这段时间会阻塞线程其它事件的处理,不适宜放在主线程进行。例如图像处理、视频编码、数据分析等。 基于多线程并发机制处理CPU密集型任务可以提高CPU利用率&#xf…

三款.NET代码混淆工具比较分析:ConfuserEx、Obfuscar和Ipa Guard

随着.NET应用程序的广泛应用,保护知识产权和防止逆向工程的需求逐渐增长。本文将详细介绍三款知名的.NET代码混淆工具:ConfuserEx、Obfuscar和Ipa Guard,帮助读者全面了解其功能特点和应用场景。 一、ConfuserEx ConfuserEx是一个.NET代码混…

文件太大无法拷贝到u盘怎么办?可能是这个隐藏原因~

有时候我们新买的U盘,明明有64G的存储空间,怎么一个4.5G的视频想保存到U盘里会提示“文件太大”无法保存呢? 常见的U盘格式有FAT、FAT32、NTFS等,其中FAT32不支持存储单个文件体积大于4G的文件。下面教大家如何对U盘格式进行检测呢…

二开飞机机器人群发,实现自动给多个频道发送消息

频道1 频道2 二开代码部分: const CChatIdListprocess.env.CHANNEL_CHAT_ID_LIST; var channelChatIdArray CChatIdList.split(,);channelChatIdArray.forEach(function(item) {console.log(item); // 这里可以替换为您需要对数组中每个值进行的操作bot.sendM…

个人开发App成功上架手机应用市场的关键步骤

目录 1. 苹果审核和APP备案 2. APP上架操作步骤 3. 审核和发布 4. 上线工作 总结 参考资料 在当前移动应用市场竞争激烈的背景下,个人开发App如何成功上架成为开发者们必须面对的重要任务。本文将重点介绍自建App上架至手机应用市场的流程,包括苹果…

HDOJ 2078

复习时间 Problem Description 为了能过个好年,xhd开始复习了,于是每天晚上背着书往教室跑。xhd复习有个习惯,在复习完一门课后,他总是挑一门更简单的课进行复习,而他复习这门课的效率为两门课的难度差的平方,而复习第…

String类型详解

1. Java为何要创造String类 在C语言中,是没有String这个类型的,通常使用字符数组中存放一个个字符,再加上最后一个\0来表示/存放一个字符串.也可以使用一个字符指针指向字符串的首元素,直到遇到\0停止,再加上C语言头文件string.h中封装的函数,对于字符串的操作已经够用了. Java…

【自动化】C#下”半双工通信“读写问题说明与实例

半双工通信是一种单向通信方式,它允许数据在单一方向上传输,但不像全双工通信那样同时支持两个方向上的数据传输。在C#中,通过SerialPort类可以实现半双工通信。以下将详细说明半双工通信的读写问题,并提供一个实例。 半双工通信…

visual studio编译时,报错error MSB6006:“mt.exe”已退出,代码为31,原因及解决方案

错误 MSB6006 表示在 Visual Studio 的编译过程中,mt.exe(Microsoft Manifest Tool)执行失败,并返回了退出代码 31。mt.exe 主要用于处理 Windows 应用程序的清单文件(manifest files),这些文件…

python接口自动化正则表达式

在python接口自动化框架里面经常会用到正则表达式,主要是以下两种情况: 1,用python写一个正则表达式,实现对token数据的获取,只获取返回的cookie数据里面的accesstoken。如果对返回的cookie数据中的accesstoken进行获…

学完Python的7大就业方向,哪个赚钱最多?

“ 我想学Python,但是学完Python后都能干啥 ?” “ 现在学Python,哪个方向最简单?哪个方向最吃香 ?” “ …… ” 相信不少Python的初学者,都会遇到上面的这些问题。大家都知道Python很吃香,薪资…

DNS劫持怎么预防?

DNS劫持,也称为域名劫持,是一种网络攻击手段,攻击者通过拦截域名解析的请求,将用户重定向到恶意站点,以达到获取用户信息或谋取非法利益的目的。DNS劫持可以分为以下几种基本类型: 1.路由器DNS劫持&#x…

进程管理与计划任务管理

进程管理 1、查看进程 静态 ps -auxps -elf 动态 top pgrep 查看特定条件的进程 pgrep -l “log” pgrep -l "ssh"pgrep -l -U redhat pstree 查看进程树 pstree -aup 所有用户、进程id\详细信息pstree -ap redhat 查看redhat用户的进程 任务调…

如何实现在固定位置的鼠标连点

鼠大侠的鼠标连点功能是免费的 浏览器搜索下载鼠大侠,指定连点间隔和启动快捷键 点击设置,指定点击位置

MySQL数据库中的锁机制(通俗易懂)

总结 MySQL数据库中的锁机制主要用于管理并发操作,以确保数据的一致性和完整性。MySQL支持多种类型的锁,按粒度和使用场景主要分为以下几类: 全局锁: 全局锁(如FLUSH TABLES WITH READ LOCK)可以锁定整个数…