【⑤MySQL函数】:让你的数据库操作更高效(二)

news2024/12/22 16:05:23

前言

✨欢迎来到小K的MySQL专栏,本节将为大家带来MySQL日期时间、条件判断、系统信息、加密、进制转换和IP地址转换函数的讲解

目录

      • 前言
      • 一、日期和时间函数
      • 二、条件判断函数
      • 三、系统信息函数
      • 四、加密函数
      • 五、进制转换函数
      • 六、IP地址转换函数
      • 七、总结

一、日期和时间函数

函数作用
CURDATE(),CURRENT_DATE()返回当前日期
CURTIME(),CURRENT_TIME()返回当前时间
NOW(),CURRENT_TIMESTAMP(),LOCALTIME(),
SYSDATE(),LOCALTIMESTAMP()
返回会当前日期和事件
YEAR(日期)返回日期中的年份
MONTH(日期)返回日期中的月份[1,12]
DAY(日期)返回日期中的天[1,31]
HOUR(时间)返回时间中的小时
MINUTE(时间)返回时间中的分钟
SECOND(时间)返回时间中的秒
DAYOFWEEK(日期)返回星期几,1星期日,2星期一
WEEKDAY(日期)返回星期几,0星期一,1星期二
DAYOFYEAR(日期)计算指定日期是本年第几天
DAYOFMONTH(日期)计算指定日期是本月第几天
QUARTER(日期)计算指定日期是第几季度
TIME_TO_SEC(time)将指定时间转换为秒
SEC_TO_TIME(sec)将以秒为单位的时间转换为时分秒的格式
DATEDIFF(d1,d2)计算两个日期相隔的天数
ADDDATE(date,n)计算指定日期加上n天后的日期
SUBDATE(date,n)计算指定日期减去n天后的日期
ADDTIME(time,n)计算指定时间加上n秒后的时间
SUBTIME(time,n)计算指定时间减去n秒后的时间
DATE_FORMAT(date,f)按格式返回日期
TIME_FORMAT(time,f)按格式返回时间

日期和时间函数练习:

  • CURDATE(),CURRENT_DATE()返回当前日期CURTIME(),CURRENT_TIME() ,返回当前时间NOW(),CURRENT_TIMESTAMP(),LOCALTIME(),SYSDATE(),LOCALTIMESTAMP(),返回会当前日期和事件

    SELECT CURDATE(),CURTIME(),NOW(),LOCALTIME(),SYSDATE();
    
  • MONTH(日期) : 返回日期中的月份[1,12],DAY(日期) : 返回日期中的天[1,31],HOUR(时间) : 返回时间中的小时,MINUTE(时间) : 返回时间中的分钟,SECOND(时间) : 返回时间中的秒

    SELECT YEAR(NOW()),MONTH(NOW()),DAY(NOW()),HOUR(NOW()),MINUTE(NOW()),SECOND(NOW());
    
  • DAYOFWEEK:(日期) 返回星期几,1星期日,2星期一;WEEKDAY(日期):返回星期几,0星期一,1星期二

    SELECT DAYOFWEEK(NOW()),WEEKDAY(NOW());
    
  • DAYOFYEAR(日期):计算指定日期是本年第几天;DAYOFMONTH(日期): 计算指定日期是本月第几天;QUARTER(日期) :计算指定日期是第几季度

    SELECT DAYOFYEAR(NOW()),DAYOFMONTH(NOW()),QUARTER(NOW());
    
  • TIME_TO_SEC(time) :将指定时间转换为秒;SEC_TO_TIME(sec) : 将以秒为单位的时间转换为时分秒的格式

    SELECT TIME_TO_SEC('01:00:00');
    SELECT SEC_TO_TIME('3600');
    
  • ADDDATE(date,n) : 计算指定日期加上n天后的日期;SUBDATE(date,n) : 计算指定日期减去n天后的日期;ADDTIME(time,n): 计算指定时间加上n秒后的时间;SUBTIME(time,n) : 计算指定时间减去n秒后的时间

    SELECT DATEDIFF(CURDATE(),'2023/6/5');
    SELECT ADDDATE(CURDATE(),'2'),SUBDATE(CURDATE(),'2');
    SELECT ADDTIME(CURTIME(),'2'),SUBTIME(CURTIME(),'2');
    
  • DATE_FORMAT(date,f): 按格式返回日期;TIME_FORMAT(time,f) :按格式返回时间注意:%Y表示年份为4位,%y表示两位,分钟的格式化字符要用%i

    SELECT DATE_FORMAT(CURDATE(),'%Y-%m-%d');
    SELECT DATE_FORMAT(CURDATE(),'%y-%m-%d');
    SELECT TIME_FORMAT(CURTIME(),'%h-%i-%s');
    

效果如下:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、条件判断函数

函数作用
IF(expr,v1,v2)如果表达式expr成立,返回结果v1;否则,返回结果v2。
IFNULL(v1,v2)如果v1的值不为NULL,则返回v1,否则返回v2
CASE分支(详见下面)
  • IF(expr,v1,v2)
SELECT IF(1>0,'true','false');
->true
  • IFNULL(v1,v2)
SELECT IFNULL(NULL,'king');
->king
  • CASE

语法1:

CASE
	WHEN expr1 THEN V1
	WHEN expr2 THEN V2
	...
	ELSE vn
END	
SELECT CASE 
  WHEN 1 > 0
  THEN '1 > 0'
  WHEN 2 > 0
  THEN '2 > 0'
  ELSE '3 > 0'
  END
->1 > 0

语法2:

CASE expr 
  WHEN e1 THEN v1
  WHEN e1 THEN v1
  ...
  ELSE vn
END
SELECT CASE 1 
  WHEN 1 THEN '我是1'
  WHEN 2 THEN '我是2'
ELSE '你是谁'

三、系统信息函数

系统信息函数用来查询MySQL数据库的系统信息。

函数作用
VERSION()返回数据库的版本号
CONNECTION_ID()返回服务器的连接数
DATABASE()、SCHEMA返回当前数据库名
USER()、SYSTEM_USER()、SESSION_USER()、CURRENT_USER()、CURRENT_USER返回当前用户
CHARSET(str)返回字符串str的字符集
COLLATION(str)返回字符串str的字符排列方式

系统信息函数练习:

  • VERSION() : 返回数据库的版本号

    SELECT VERSION();
    
  • CONNECTION_ID(): 返回服务器的连接数

    SELECT CONNECTION_ID();
    
  • DATABASE()、SCHEMA: 返回当前数据库名

    SELECT DATABASE();
    
  • USER()、SYSTEM_USER()、SESSION_USER()、CURRENT_USER()、CURRENT_USER: 返回当前用户

    SELECT user();
    
  • CHARSET(str) :返回字符串str的字符集

    SELECT CHARSET('123564');
    
  • COLLATION(str): 返回字符串str的字符排列方式

    SELECT COLLATION('king');
    

效果如下:

在这里插入图片描述

四、加密函数

加密函数是MySQL用来对数据进行加密的函数.

函数作用
MD5(str)对字符串str进行散列,可以用于一些普通的不需要解密的数据加密,如密码
sha1对字符串str进行散列,可以用于一些普通的不需要解密的数据加密,如密码,比MD5更安全
SELECT MD5('12345679'),SHA1('12345679');
-->defac44447b57f152d14f30cea7a73cb   -->c4b93599b61b85b1f109064294c5bd7adf73ca66

我们会发现sha1产生的密码更长

五、进制转换函数

函数作用
BIN(x)返回x的二进制
HEX(x)返回x的十六进制
OCT(x)返回x的八进制
CONV(x,from_base,to_base)将from_base进制的x,转成to_base进制
SELECT BIN(10),HEX(10),OCT(10),CONV(16,16,10);
->1010 A 12 22

六、IP地址转换函数

函数作用
INET_ATON(IP)将点分十进制的IP地址转为数字
INET_NTOA(number)将数字形式的IP转为点分十进制
SELECT INET_ATON('192.168.0.1')
    ->3232235521
SELECT INET_NTOA(3232235521)
    ->192.168.0.1

七、总结

✨~MySQL 函数会对传递进来的参数进行处理,并返回一个处理结果,也就是返回一个值。MySQL 包含了大量并且丰富的函数,咱们讲解几十个常用的,剩下的比较罕见的函数我们可以到「✨MySQL 参考手册」查询。

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

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

相关文章

韦纳VeighNa(VNPY)新手入门到写策略

韦纳VeighNa(VNPY)新手入门到写策略 1.VeighNa终端如何登录交易?勾选好相应接口和功能启动后在哪输入账号?2.在哪开发策略?策略文件夹在哪?3.如何写策略?如何开发策略?4.有策略模板吗…

离线语音识别芯片IC方案,打造智能眼部按摩仪WTK6900H-C-24SS

随着科技的不断进步,智能化产品已经成为人们日常生活中的一部分。眼部按摩仪作为舒缓眼部疲劳的利器,如今更是加入了离线语音识别芯片IC方案,让使用体验更加智能化、便捷化,WTK6900H-C-24SS离线语音识别芯片IC方案,将为…

Tomcat 8.5 环境搭建指南

文章目录 导言环境搭建总结 导言 欢迎阅读本篇博客,本文将为您提供关于如何搭建Tomcat 8.5环境的详细指南。Tomcat是一个流行的开源Java Servlet容器,它提供了一个运行Java Web应用程序的平台。无论您是新手还是有经验的开发人员,本文都将帮…

Selenium教程__使用switch_to.alert处理弹窗(14)

与switch_to.window 和 switch_to.frame 相比,switch_to.alert的alert方法使用了property 装饰器,所以在使用时alert被当成属性调用。 演示如下 from selenium import webdriverdriver webdriver.Chrome() driver.maximize_window() driver.get("…

推荐一个好用的Python词云展示库-wordcloud

目录标题 前言1.介绍2.使用说明尾语 前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! 1.介绍 wordcloud是优秀的词云展示第三方库,wordcloud能够将一段文本变成一个词云。 词云就是将词语通过图形可视化的方式,直观和艺术的展示出来。词云在我们的…

Word模板替换,并转PDF格式输出

Poi-tl参考文档地址&#xff1a;http://deepoove.com/poi-tl/1.8.x/#hack-loop-table word模板替换&#xff0c;转pdf 1. 依赖引入&#xff1a;2. word模板配置&#xff1a;3. 示例demo:4 . 效果图 1. 依赖引入&#xff1a; <dependency><groupId>org.apache.poi&…

Unity3D:在 Inspector 中操作

推荐&#xff1a;将 NSDT场景编辑器 加入你的3D工具链 3D工具集&#xff1a; NSDT简石数字孪生 在 Inspector 中操作 本页面描述了一些用于控制 Inspector 窗口本身的选项。有关设置游戏对象、脚本和资源的属性的信息&#xff0c;请参阅编辑属性。 Lock the Inspector 通常&…

网络安全零基础学习路线

一&#xff0c;怎么入门&#xff1f; 1、Web 安全相关概念&#xff08;2 周&#xff09; 了解网络安全相关法律法规 熟悉基本概念&#xff08;SQL 注入、上传、XSS、CSRF、一句话木马等&#xff09;。 通过关键字&#xff08;SQL 注入、上传、XSS、CSRF、一句话木马等&#…

C. Robot Collisions(暑期集训)

原题链接 题意&#xff1a; 有n个机器人在OX轴上运动&#xff0c;运动范围为[0,m]。 第i个机器人开始位于xi的位置&#xff0c;然后以1单位距离每秒的速度向左或向右运动&#xff0c;当其运动到0点或m点时会调转方向。 如果任意时刻多于一个机器人在同一整数位置&#xff0c;…

【硬件自动化测试--测试软件的设计及实现】测试框架设计及实现!

如何设计并实现自动化框架? 首先,需要了解我们的产品,需要做哪些测试,如有很多硬件产品的测试中,需要用到示波器、频谱仪、信号源等等一系列的仪器,仪器的型号也各有不同,所以在设计框架之前,一定得了解我们的产品。 那么,就以一台服务器为例子,基带部分的测试,包括…

酷开系统 |酷开科技持续创造大屏生命力

在这个信息爆炸的时代&#xff0c;人们对于互联网和智能生活的需求&#xff0c;不再局限于碎片化或工作场景&#xff0c;更多的是延伸至连续化的家庭化使用环境。而智能大屏作为互联网时代下的产物&#xff0c;融合了互联网流媒体的数据处理方式&#xff0c;深受年轻人的青睐&a…

牛客·矩阵取数游戏

矩阵取数游戏 这里我们推一下这个题的精髓&#xff1a; dp[i][j]max(int(b[c][i])dp[i1][j],dp[i][j-1]int(b[c][j])) dp[i][j]2*dp[i][j]假定某一行有两个数x,y; 那么我们有两种选择&#xff1a; 先拿x&#xff0c;再拿y&#xff1a;x*2y*4&#xff1b; 先拿y&#xff0c;再…

Rust in Action笔记 第八章 网络

P253的图展示了网络各层用到的协议Box<dyn std::error::Error>表示一个指针指向的实现了标准错误库的类型&#xff0c;dyn表明这是一个特征对象&#xff08;trait object&#xff09;&#xff0c;是rust里多态的一种实现方式&#xff1b;特征对象和模板对象&#xff08;g…

短视频------Adobe Photoshop 笔记总结

一、Adobe Photoshop 使用方式方法 ctrlc/v 复制 粘贴 ctrlx 剪切 ctrla 全选 ctrlz撤销 ctrls保存 ENTER 回车 换行 CTRL 调取定界框 CAPSLOCK 大写锁定 Esc 退出 Delete 删除 Backspace 退格 Ctrl shi alt 三个控制键 Shi 连选 ctrl 加选/减选 锁屏 WinL 打开运行命令窗口 …

vue实现输入网址生成二维码、解码、下载、更改功能

功能&#xff1a; 1.输入网址生成二维码 2.二维码可以下载 3.可以更改二维码中心的图片 4.可以通过本地相册的二维码进行解码 1.下载三个插件 下载vue-qr&#xff0c;用于生成二维码 npm install vue-qr 下载vue-jimp并指定版本号&#xff0c;最新版不行&#xff0c;实…

Linux中yum、dnf、rpm

yum 1、看是否安装了某些东西 yum list all | grep php

一篇文章带你从入门都入土 Kafka 消息中间件(原理+代码)

目录 一、Kafka定义 二、消息队列 三、Kafka基础架构图 四、安装Kafka 4.1 为每台服务器下载Kafka并解压 4.2 查看目录结构 4.3 为每台服务器修改配置文件server.properties 4.4 为每台服务器配置Kafka环境变量 4.5 启动zookeeper集群 4.6 启动Kafka集群 4.7 关闭Ka…

IDEA初次连接Redis配置

解决IDEA报错代码&#xff1a;redis.clients.jedis.exceptions.JedisConnectionException: Failed connecting to host 192.168.127.185:6379 第一步、引入jedis依赖 <!--引入jedis依赖--> <dependencies><dependency><groupId>redis.clients</gr…

天数智芯通用GPU产品天垓100与飞桨完成III级兼容性测试,加速人工智能产业生态建设

近日&#xff0c;上海天数智芯半导体有限公司&#xff08;以下简称“天数智芯”&#xff09;通用 GPU 产品天垓 100 与飞桨已完成 III 级兼容性测试。测试结果显示&#xff0c;双方兼容性表现良好&#xff0c;整体运行稳定。这是天数智芯加入“飞桨硬件生态共创计划 ”后的阶段…

Tensor core原理

什么是Tensorcore Tensor core是nvidia底层执行运算的硬件单元&#xff0c;不同于nvidia以往的cuda core(全浮点型&#xff09;&#xff0c;Tensor core是近几年推出来的、混合精度的、将累加和累乘放在一起的计算硬件&#xff1b; 什么是混合精度 混合精度指的是在输入、输…