以下是SQL中常用时间操作函数的汇总,按功能分类整理,结合多个权威来源内容综合而成:

一、获取当前时间

函数名称功能说明示例适用数据库
CURDATE()获取当前日期(不含时间)SELECT CURDATE();2024-08-21MySQL, MariaDB
CURRENT_DATE()CURDATE()(标准SQL)SELECT CURRENT_DATE;多数数据库
NOW()获取当前日期和时间SELECT NOW();2024-08-21 10:41:41MySQL, SQL Server
GETDATE()获取当前日期时间(SQL Server专用)SELECT GETDATE();SQL Server
CURRENT_TIMESTAMP获取当前时间戳(带时区)SELECT CURRENT_TIMESTAMP;PostgreSQL, Oracle

二、提取时间部分

函数名称功能说明示例适用数据库
YEAR(date)提取年份YEAR('2024-08-21')2024MySQL, SQL Server
MONTH(date)提取月份(1-12)MONTH('2024-08-21')8通用
DAY(date)提取日(1-31)DAY('2024-08-21')21通用
HOUR(time)提取小时(0-23)HOUR('10:41:41')10MySQL, SQL Server
MINUTE(time)提取分钟(0-59)MINUTE('10:41:41')41通用
SECOND(time)提取秒(0-59)SECOND('10:41:41')41通用
EXTRACT(unit FROM date)灵活提取指定部分(年/月/日等)EXTRACT(YEAR FROM '2024-08-21')2024PostgreSQL, MySQL

三、时间计算与操作

函数名称功能说明示例适用数据库
DATE_ADD(date, INTERVAL expr unit)日期增加指定时间间隔DATE_ADD('2024-08-21', INTERVAL 7 DAY)2024-08-28MySQL
DATE_SUB(date, INTERVAL expr unit)日期减去指定时间间隔DATE_SUB('2024-08-21', INTERVAL 1 MONTH)2024-07-21MySQL
DATEDIFF(date1, date2)计算两个日期相差的天数DATEDIFF('2024-08-21', '2024-08-01')20MySQL, SQL Server
TIMESTAMPDIFF(unit, start, end)按单位计算时间差(天/小时等)TIMESTAMPDIFF(DAY, '2024-08-01', '2024-08-21')20MySQL
ADDDATE(date, days)日期增加指定天数ADDDATE('2024-08-21', 7)2024-08-28MySQL

四、时间格式化与转换

函数名称功能说明示例适用数据库
DATE_FORMAT(date, format)按指定格式输出日期DATE_FORMAT('2024-08-21', '%Y年%m月%d日')2024年08月21日MySQL
TO_CHAR(date, format)日期转字符串(PostgreSQL/Oracle)TO_CHAR('2024-08-21', 'YYYY-MM-DD')2024-08-21PostgreSQL, Oracle
STR_TO_DATE(str, format)字符串转日期STR_TO_DATE('2024年08月21日', '%Y年%m月%d日')2024-08-21MySQL
UNIX_TIMESTAMP(date)日期转Unix时间戳UNIX_TIMESTAMP('2024-08-21')1724208000MySQL
FROM_UNIXTIME(unixtime)Unix时间戳转日期FROM_UNIXTIME(1724208000)2024-08-21 00:00:00MySQL

五、实用场景函数

  1. 查询今天数据
    SELECT * FROM orders WHERE DATE(created_at) = CURDATE();
    
  2. 查询昨天数据
    SELECT * FROM orders WHERE DATE(created_at) = DATE_SUB(CURDATE(), INTERVAL 1 DAY);
    
  3. 查询未来7天数据
    SELECT * FROM events WHERE event_date BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 7 DAY);
    
  4. 计算工龄(年)
    SELECT TIMESTAMPDIFF(YEAR, hire_date, CURDATE()) AS years_of_service FROM employees;
    

关键注意事项

  1. 数据库差异
    • SQL Server使用GETDATE()而非NOW(),日期加减用DATEADD()/DATEDIFF()
    • Oracle使用SYSDATE获取当前时间,TO_DATE()转换字符串。
  2. 时区处理
    • CURRENT_TIMESTAMP返回带时区的时间,需结合CONVERT_TZ()转换时区(MySQL)。
  3. 性能优化
    • 避免在WHERE条件中对列使用函数(如YEAR(date)=2024),可能导致索引失效。

完整函数列表及语法细节可参考:MySQL日期函数文档、SQL Server时间函数。


以上内容由AI生成,仅供参考和借鉴

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

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

相关文章

NUS PC5215 Lecture分析 Week1 Python基础

NUS PC5215 Lecture分析 Week1 Python基础前言Python基础数据类型保留字表达式Import 相关库IEEE浮点数前言 课程网站 作为一名计算机本科毕业的学生,该课程有点类似于本科期间学的数值分析的进化版,大抵是教会你如何实现各种方法,诸如蒙特卡…

模型私有化部署(Ollama vLLM LMDeploy)

一、魔塔社区平台介绍 1.1 什么是魔塔社区? 魔塔(ModelScope)是由阿里巴巴达摩院推出的开源模型即服务(MaaS)共享平台,汇聚了计算机视觉、自然语言处理、语音等多领域的数千个预训练AI模型。其核心理念是…

C++编程实践--资源管理、标准库、并发与并行

文章目录 资源管理 资源访问 指向资源句柄或描述符的变量,在资源释放后立即赋予新值 lambda函数 当lambda会逃逸出函数外面时,禁止按引用捕获局部变量 避免lambda表达式使用默认捕获模式 资源分配与回收 避免出现delete this操作 使用恰当的方式处理new操作符的内存分配错误 …

“R语言+遥感”的水环境综合评价方法实践技术应用

专题一、R语言概述1.1 R语言特点(R语言)1.2 安装R(R语言)1.3 安装RStudio(R语言)(1)下载地址(2)安装步骤(3)软件配置1.4 第一个程序He…

【项目复盘】【四轴飞行器设计】驱动开发部分

由于在参加面试时总需要花时间一点一点的回忆自己的项目内容,故我打算直接写一系列的项目复盘博客,方便每次面试前的回忆。内容仅作分享交流,如有谬误欢迎指正。 本项目系列的文章目录如下: 【项目复盘】【四轴飞行器设计】驱动…

wpf之ComboBox

前言 wpf中ComboBox的应用非常广泛&#xff0c;本文就来介绍ComboBox在wpf中的应用。 1、非MVVM模式下 1.1 xaml添加元素<ComboBox x:Name"cbx_test1" SelectedIndex" 0" ><ComboBoxItem >小明</ComboBoxItem ><ComboBoxItem &g…

从零开始学AI——13

前言 夏天快要过去&#xff0c;本书也快接近尾声了。 第十三章 13.1 半监督学习 在此之前&#xff0c;我们讨论的所有学习范式都具有非常明确的边界条件&#xff1a; 监督学习&#xff1a;我们拥有大量带标签的数据样本(xi,yi)(x_i, y_i)(xi​,yi​)&#xff0c;目标是学习从输…

k8sday12数据存储(1/2)

目录 一、简单基本存储 1、EmptyDir 1.1概念 1.2作用 1.3配置文件 1.4测试 2、HostPath 2.1概念 2.2作用 2.3配置文件 2.4测试 ①、数据共享 ②、持久化存储 3、NFS 3.1概念 3.2作用 3.3NFS服务安装 ①、设置主节点为NFS服务器 ②、给副节点安装NFS客户端工…

Spring Framework 常用注解详解(按所属包分类整理)

在使用 Spring Framework 进行开发时&#xff0c;注解&#xff08;Annotation&#xff09;是实现 依赖注入&#xff08;DI&#xff09;、组件扫描、AOP 切面、事务管理 和 Web 请求映射 的核心手段。Spring 提供了丰富且结构清晰的注解体系&#xff0c;这些注解按照功能被组织在…

ROADS落地的架构蓝图

2 ROADS落地的架构蓝图 将ROADS体验从理念转化为现实&#xff0c;需要一套完整且自顶向下的架构蓝图作为支撑。华为的实践表明&#xff0c;数字化转型的成功依赖于多个架构层次的协同推进&#xff0c;而非单点技术的应用。该蓝图通常包含以下五个关键层次&#xff0c;每一层都承…

如何构建一个神经网络?从零开始搭建你的第一个深度学习模型

在深度学习的海洋中&#xff0c;神经网络就像一艘船&#xff0c;承载着数据的流动与特征的提取。而构建一个神经网络&#xff0c;就像是在设计这艘船的结构。本文将带你一步步了解如何使用 PyTorch 构建一个完整的神经网络模型&#xff0c;涵盖网络层的组织、前向传播与反向传播…

自学嵌入式第二十三天:数据结构(3)-双链表

一、strtokchar * strtok(char *s1,char *s2);截断字符串&#xff0c;在s1字符串中找到s2截取前一段返回&#xff0c;如需要再次截取剩余段&#xff0c;再使用此函数s1输入NULL即可&#xff1b;二、bzerobzero(char *p,size_t size);清零,从p地址开始&#xff0c;清零size个bit…

河南萌新联赛2025第六场 - 郑州大学

暑期集训已经接近尾声&#xff0c;一年六场的暑期萌新联赛也已经结束了&#xff0c;进步是比较明显的&#xff0c;从一开始的七八百名到三四百名&#xff0c;虽然拿不出手&#xff0c;但是这也算对两个月的集训的算法初学者的我一个交代。 比赛传送门&#xff1a;河南萌新联赛…

2-1.Python 编码基础 - 基础运算符(算术运算符、赋值运算符、比较运算符、逻辑运算符)

一、算术运算符 1、基本介绍编号运算符说明示例输出结果1两数相加10 20302-两数相减10 - 20-103*两数相乘&#xff0c;或者返回一个被重复若干次的字符串10 * 202004/两数相除10 / 200.55//两数相除并返回商的整数部分9 // 246%两数相除并返回余数10 % 507**幂运算10 ** 21002…

CMOS知识点 MOS管不同工作区域电容特性

知识点14&#xff1a;MOSFET的电容主要来源于其物理结构&#xff1a;栅氧层电容&#xff1a;栅极&#xff08;G&#xff09;与衬底&#xff08;B&#xff09;、沟道、源&#xff08;S&#xff09;、漏&#xff08;D&#xff09;之间隔着二氧化硅绝缘层&#xff0c;自然形成电容…

预测性维护+智能优化:RK3568+FPGA方案在储能行业的应用

在储能行业&#xff0c;RK3568FPGA方案通过预测性维护和智能优化技术&#xff0c;显著提升系统可靠性和经济性。该方案采用异构架构&#xff08;FPGA处理高速信号采集&#xff0c;RK3568负责策略计算与通信管理&#xff09;&#xff0c;实现微秒级响应和精准控制。‌26一、预测…

工业4.0时代,耐达讯自动化Profibus转光纤如何重构HMI通信新标准?“

在智能制造与工业4.0浪潮下&#xff0c;HMI&#xff08;人机界面&#xff09;作为设备与操作员之间的“桥梁”&#xff0c;承担着实时数据显示、设备监控及交互控制的核心职能。然而&#xff0c;传统Profibus总线在HMI连接中常因电磁干扰、传输距离限制等问题&#xff0c;导致画…

SpringClound——网关、服务保护和分布式事务

一、网关网络的关口&#xff0c;负责请求的路由、转发、身份验证server:port: 8080 spring:cloud:nacos:discovery:server-addr: 192.168.96.129:8848gateway:routes:- id: item-serviceuri: lb://item-servicepredicates:- Path/items/**,/search/**- id: user-serviceuri: lb…

【C++】模版(初阶)

目录 一. 函数模版 1. 格式 原理 2. 函数模版的实例化 二. 类模板 void Swap(int& left, int& right) {int temp left;left right;right temp; }void Swap(double& left, double& right) {double temp left;left right;right temp; }void Swap(char&…

InfluxDB 开发工具链:IDE 插件与调试技巧(二)

四、利用 IDE 插件提升开发效率 4.1 代码编写技巧 在使用安装了 InfluxDB 插件的 IDE 进行代码编写时&#xff0c;我们可以充分利用插件提供的代码导航和智能提示功能&#xff0c;来显著提高编写 InfluxDB 相关代码的效率和准确性。 以一个涉及多个 Measurement 和复杂查询条…