MySQL日期格式及日期函数实践
目录
日期格式
日期函数
- CURDATE()和CURRENT_DATE()
- CURTIME()和CURRENT_TIME()
- NOW()和CURRENT_TIMESTAMP()
- DATE_FORMAT()
- DATE_ADD()和DATE_SUB()
- DATEDIFF()
- DATE()
- DAYNAME()和MONTHNAME()
1. 日期格式
在MySQL中,日期可以使用多种格式进行存储和表示。常见的日期格式包括:
- DATE:仅包含日期部分,格式为'YYYY-MM-DD',例如'2023-07-06'。
- TIME:仅包含时间部分,格式为'HH:MM:SS',例如'13:30:45'。
- DATETIME:包含日期和时间部分,格式为'YYYY-MM-DD HH:MM:SS',例如'2023-07-06 13:30:45'。
- TIMESTAMP:包含日期和时间部分,格式为'YYYY-MM-DD HH:MM:SS',与DATETIME相似,但在存储和使用上有一些差异。
在实际使用中,可以根据需求选择合适的日期格式进行存储和处理。
2. 日期函数
MySQL提供了丰富的日期函数,用于对日期进行各种操作和计算。下面介绍一些常用的日期函数:CURDATE()和CURRENT_DATE()
CURDATE()和CURRENT_DATE()函数返回当前日期。它们的使用方式相同,可以直接调用这两个函数获取当前日期。
SELECT CURDATE(); -- 返回当前日期,例如'2023-08-29'
SELECT CURRENT_DATE(); -- 返回当前日期,例如'2023-08-29'

CURTIME()和CURRENT_TIME()
CURTIME()和CURRENT_TIME()函数返回当前时间。它们的使用方式相同,可以直接调用这两个函数获取当前时间。
SELECT CURTIME(); -- 返回当前时间,例如'11:12:12'
SELECT CURRENT_TIME(); -- 返回当前时间,例如'11:12:12'

NOW()和CURRENT_TIMESTAMP()
NOW()和CURRENT_TIMESTAMP()函数返回当前日期和时间。它们的使用方式相同,可以直接调用这两个函数获取当前日期和时间。
SELECT NOW(); -- 返回当前日期和时间,例如'2023-08-29 11:26:27'
SELECT CURRENT_TIMESTAMP(); -- 返回当前日期和时间,例如'2023-08-29 11:26:27

DATE_FORMAT()
DATE_FORMAT()函数用于将日期按照指定的格式进行格式化。可以使用不同的格式化符号来表示年、月、日、小时、分钟、秒等。

DATE_ADD()和DATE_SUB()
DATE_ADD()和DATE_SUB()函数用于对日期进行加减操作。可以指定要加减的日期部分(年、月、日等)和相应的值。
SELECT DATE_ADD(NOW(), INTERVAL 2 DAY); -- 当前日期加2天
SELECT DATE_SUB(NOW(), INTERVAL 1 MONTH); -- 当前日期减1个月

DATEDIFF()
DATEDIFF()函数用于计算两个日期之间的天数差。
SELECT DATEDIFF('2023-08-29', '2023-08-08'); -- 计算两个日期之间的天数差,结果为21

DATE()
DATE()函数用于提取日期部分。
SELECT DATE(NOW()); -- 提取当前日期部分,例如'2023-08-29'

DAYNAME()和MONTHNAME()
DAYNAME()和MONTHNAME()函数用于获取日期的星期和月份名称。
SELECT DAYNAME(NOW()); -- 获取日期的星期名称,例如'Tuesday'
SELECT MONTHNAME(NOW()); -- 获取日期的月份名称,例如'August'

下面是使用Java和MySQL进行日期操作的示例代码:
package com.linxinbao.controller;import java.sql.*;
import java.text.SimpleDateFormat;public class DateExample {public static void main(String[] args) {String url = "jdbc:mysql://localhost:3306/database";String username = "root";String password = "password";try {// 连接数据库Connection connection = DriverManager.getConnection(url, username, password);// 获取当前日期Statement statement = connection.createStatement();ResultSet resultSet = statement.executeQuery("SELECT CURDATE()");if (resultSet.next()) {Date currentDate = resultSet.getDate(1);System.out.println("Current date: " + currentDate);}// 格式化日期SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");String formattedDate = dateFormat.format(new java.util.Date());System.out.println("Formatted date: " + formattedDate);// 关闭连接resultSet.close();statement.close();connection.close();} catch (SQLException e) {e.printStackTrace();}}
}
相关文章:
MySQL日期格式及日期函数实践
目录 日期格式 日期函数 CURDATE()和CURRENT_DATE()CURTIME()和CURRENT_TIME()NOW()和CURRENT_TIMESTAMP()DATE_FORMAT()DATE_ADD()和DATE_SUB()DATEDIFF()DATE()DAYNAME()和MONTHNAME() 1. 日期格式 在MySQL中,日期可以使用多种格式进行存储和表示。常见的日期格式…...
MySQL项目迁移华为GaussDB PG模式指南
文章目录 0. 前言1. 数据库模式选择(B/PG)2.驱动选择2.1. 使用postgresql驱动2.1. 使用opengaussjdbc驱动 3. 其他考虑因素4. PG模式4.1 MySQL和OpenGauss不兼容的语法处理建议4.2 语法差异 6. 高斯数据库 PG模式JDBC 使用示例验证6. 参考资料 本章节主要…...
流处理详解
【今日】 目录 一 Stream接口简介 Optional类 Collectors类 二 数据过滤 1. filter()方法 2.distinct()方法 3.limit()方法 4.skip()方法 三 数据映射 四 数据查找 1. allMatch()方法 2. anyMatch()方法 3. noneMatch()方法 4. findFirst()方法 五 数据收集…...
Qt中XML文件创建及解析
一 环境部署 QT的配置文件中添加xml选项: 二 写入xml文件 头文件:#include <QXmlStreamWriter> bool MyXML::writeToXMLFile() {QString currentTime QDateTime::currentDateTime().toString("yyyyMMddhhmmss");QString fileName &…...
【pyqt5界面化工具开发-11】界面化显示检测信息
目录 0x00 前言: 一、布局的设置 二、消息的显示 0x00 前言: 我们在10讲的基础上,需要将其输出到界面上 思路: 1、消息的传递 2、布局的设置 先考虑好消息的传递,再来完善布局 其实先完善布局,再来设置消…...
Batbot电力云平台在智能配电室中的应用
智能配电室管理系统是物联网应用中的底层应用场景,无论是新基建下的智能升级,还是双碳目标下的能源管理,都离不开智能配电运维对传统配电室的智慧改造。Batbot智慧电力(运维)云平台通过对配电室关键电力设备部署传感器…...
链表(详解)
一、链表 1.1、什么是链表 1、链表是物理存储单元上非连续的、非顺序的存储结构,数据元素的逻辑顺序是通过链表的指针地址实现,有一系列结点(地址)组成,结点可动态的生成。 2、结点包括两个部分:&#x…...
最简单vue获取当前地区天气--高德开放平台实现
目录 前言 一、注册成为高德平台开发者 二、注册天气key 1.点击首页右上角打开控制台 2.创建新应用 三、vue项目使用 1.打开vue项目找到public下的index.html,如果是vue3的话直接在主目录打开index.html文件就行,主要就是打开出口文件 编辑 2.根据高德…...
大数据处理 正则表达式去除特殊字符 提取中文英文数字
在文本处理中,经常会碰到含有特殊字符的字符串。 比如用户昵称, 小红书文案,等等 都包含了大量表情特殊字符。 这些特殊字符串在ETL处理过程中,经常会引起程序报错,导致致命错误,程序崩溃;或者导…...
Python装饰器(decorators)
本文改编自以下文章:Decorators in Python 装饰器是一个很强大的工具,它允许我们很便捷地修改已有函数或者类的功能,我们可以用装饰器把另一个函数包装起来,扩展一些功能而不需要去修改这个函数代码。 预备知识 在Python中&…...
[halcon] 局部图片保存 gen_circle 和 gen_rectangle2 对比 这怕不是bug吧
背景 我想实现一个功能,获取图片中瑕疵的位置,将瑕疵周边的一块区域抠图并保存。 上代码 一开始我代码这么写的: gen_circle (Rectangle, Row[i], Column[i], 256) reduce_domain(Image,Rectangle,GrayEllipse) crop_domain(GrayEllipse,…...
解析msvcp100.dll丢失的原因及修复方法,教你快速解决的方案
msvcp100.dll文件的丢失,其实也是属于dll丢失的其中一种,因为它是dll文件,大家记住,只要是后缀是dll的文件那么它就是dll文件,只要丢失了dll文件,那么其解决的方法都是大同小异的,唯一不同的是&…...
算法:模拟思想算法
文章目录 实现原理算法思路典型例题替换所有问号提莫攻击N字型变换外观序列 总结 本篇总结的是模拟算法 实现原理 模拟算法的实现原理很简单,就是依据题意实现题意的目的即可,考察的是你能不能实现题目题意的代码能力 算法思路 没有很明显的算法思路…...
【base64】JavaScriptuniapp 将图片转为base64并展示
Base64是一种用于编码二进制数据的方法,它将二进制数据转换为文本字符串。它的主要目的是在网络传输或存储过程中,通过将二进制数据转换为可打印字符的形式进行传输 JavaScript 压缩图片 <html><body><script src"https://code.j…...
根据一个List生成另外一个List,修改其中一个,导致另外一个List也在变化
1、两个List复制 SysDic aSysDic new SysDic(); aSysDic.setDkey("1"); aSysDic.setDnote("12"); SysDic bSysDic new SysDic(); bSysDic.setDkey("2"); bSysDic.setDnote("23"); …...
Cesium 加载 geojson 文件并对文件中的属性值进行颜色设置
文章目录 需求分析解决 需求 Cesium 加载 geojson 文件并对文件中的属性值进行颜色设置 分析 在搜寻多种解决方案后,最后总结出 自己的解决方案 方案一,没看懂 var geojsonOptions {clampToGround : true //使数据贴地};var entities;promise Cesium…...
windows系统配置tcp最大连接数
打开注册表 运行->regedit HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters目录下 增加一个MaxUserPort(默认值是5000,端口范围是1025至5000)MaxUserPort设置为65534(需重启服务器) 执行dos命令&…...
SQL存储过程中 SET ANSI_NULLS ON 和 SET QUOTED_IDENTIFIER ON的作用和详解
今天在写SQL Server存储过程中遇到的,做个整理归纳 USE [ABInbevDB] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO实际上,我们在创建存储过程的时候,这几行的代码是会自动创建出来的,那么先解释下两个标准的概念。 两个…...
C语言——程序执行的三大流程
顺序 : 从上向下, 顺序执行代码分支 : 根据条件判断, 决定执行代码的分支循环 : 让特定代码重复的执行...
二级MySQL(十)——单表查询
这里我们只在一个表内查询,用到的是较为简单的SELECT函数形式 1、查询指定的字段: 用到的数据库是之前提到的S、P、SP数据库 S表格用到的总数据: 首先我们查询所有供应商的序号和名字 这时都是独立的,没有关系,我们找…...
用FastMCP中间件给你的AI应用加把锁:手把手实现MySQL数据库鉴权(附完整代码)
用FastMCP中间件构建企业级AI服务安全网关 当团队内部的AI工具从原型走向生产环境时,安全往往成为最容易被忽视的环节。上周我接手了一个金融数据分析平台的审计工作,发现开发团队竟然直接将未加密的股票查询接口暴露在公网,仅通过IP白名单控…...
SubtitleOCR:重新定义视频内容处理效率的硬字幕提取革命
SubtitleOCR:重新定义视频内容处理效率的硬字幕提取革命 【免费下载链接】SubtitleOCR 快如闪电的硬字幕提取工具。仅需苹果M1芯片或英伟达3060显卡即可达到10倍速提取。A very fast tool for video hardcode subtitle extraction 项目地址: https://gitcode.com/…...
别再只盯着ODD了!从特斯拉FSD和华为ADS的实战,聊聊ODC(设计运行条件)到底怎么落地
从特斯拉FSD到华为ADS:ODC实战落地的工程密码 当特斯拉车主在暴雨天启动FSD时,系统会先检查挡风玻璃上的雨滴传感器数据;而华为ADS用户试图在未系安全带状态下激活系统,仪表盘会立即弹出红色警告——这些看似简单的交互背后&…...
uniApp离线打包实战避坑指南
1. 离线打包前的环境准备 第一次接触uniApp离线打包时,我踩过的第一个坑就是环境配置。当时以为只要安装了Android Studio就能万事大吉,结果编译时各种报错接踵而至。后来才发现,离线打包对开发环境的版本匹配要求极为严格,差一个…...
无人机控制中的模糊控制:一维与二维模糊控制及其实现要点
无人机 控制方面 模糊控制 有一维模糊和二维模糊两种,文字说明资料已遗失,数学模型可以根据仿真图推导,直接运维simulink会报错,是因为没有导入模糊规则,在运行simulink之前需要在命令窗口输入workreadfis work.fis ,这…...
如何用3步实现Jable视频高效下载?开源工具jable-download的完整解决方案
如何用3步实现Jable视频高效下载?开源工具jable-download的完整解决方案 【免费下载链接】jable-download 方便下载jable的小工具 项目地址: https://gitcode.com/gh_mirrors/ja/jable-download jable-download是一款专为普通用户设计的Jable视频下载工具&am…...
基于springboot的中医院问诊知识科普系统的设计与实现-vue
目录系统架构设计前端技术选型模块划分关键技术实现开发阶段规划部署方案项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作系统架构设计 采用前后端分离架构,前端使用Vue.js框架,后端基于SpringBoot构建R…...
UE5场景过曝/白屏排查指南:从后期处理体积到项目设置的实战修复
1. 当UE5场景变成"雪盲症"时该怎么办? 第一次打开UE5项目看到白茫茫一片的时候,我差点以为显卡烧了。这种场景过曝现象就像在雪山没戴墨镜,所有细节都被强光吞噬。新手遇到这种情况别慌,我整理了从"急救措施"…...
本地 AI 智能体落地:OpenClaw 如何稳定运行并真正提效?
最近我把 OpenClaw 作为核心自动化工具来使用了一段时间。它能让大模型直接操作电脑,跑脚本、处理文件、启动服务、执行批量任务,这种 “本地自动化” 体验非常真实。 但一开始我也被它的 “不稳定” 搞得很崩溃。 1. OpenClaw 的真正价值(…...
FreeRTOS在STM32F407上的内存与栈空间优化全攻略:从CubeMX配置到避免堆栈溢出
FreeRTOS在STM32F407上的内存与栈空间优化全攻略:从CubeMX配置到避免堆栈溢出 在嵌入式开发中,资源管理往往是决定项目成败的关键因素。对于使用STM32F407这类资源受限的MCU进行多任务开发的工程师来说,如何合理规划和管理有限的RAM资源&…...
