SQL之表的时间类内置函数详解

目录

[1. 日期函数](#1. 日期函数)

[1.1 current_date()](#1.1 current_date())

[1.2 current_time()](#1.2 current_time())

[1.3 current_timestamp()](#1.3 current_timestamp())

[1.4 date(datetime)](#1.4 date(datetime))

[1.5 date_add(date, interval d_value_type)](#1.5 date_add(date, interval d_value_type))

[1.6 date_sub(date, interval d_value_type)](#1.6 date_sub(date, interval d_value_type))

[1.7 datediff(date1, date2)](#1.7 datediff(date1, date2))

[1.8 now()](#1.8 now())


我们在前面的文章中已经了解了关于表的增删查改,今天我们来学习一些表的内置函数。

1. 日期函数

下面这个表格是我们在接下来要进行讲解的函数,我们现在这里简单介绍了它们的名字以及他们的作用,这边之所以这么设计是因为我们学到后面的话这些函数我们已经了解了,这样先写在前面方便我们查阅。

函数名称 描述
current_date() 当前日期
current_time() 当前时间
current_timestamp() 当前时间戳
date(datetime) 返回 datetime 参数的日期部分
date_add(date, interval d_value_type) 在 date 中添加日期或时间interval 后的数值单位可以是:year minute second day
date_sub(date, interval d_value_type) 在 date 中减去日期或时间interval 后的数值单位可以是:year minute second day
datediff(date1, date2) 两个日期的差,单位是天
now() 当前日期时间

1.1 current_date()

这个函数的作用就是返回当前输出指令的时间。

语法:

sql 复制代码
select current_date();

一般来说在SQL里面使用函数我们直接在前面加一个select然后接函数就可以了。

我们看下面这张图,就直接这样写那么就可以输出当前的年月日。

PS:在 SQL 中,current_date() 是一个函数(用于返回当前日期),它本身不能直接作为表中列的数据类型。表中列的数据类型需要指定为具体的类型(如 DATEDATETIME 等),而 current_date() 更像是一个 "值生成工具"。

1.2 current_time()

这个函数的作用就是返回当前的时间。

语法:

sql 复制代码
select current_time();

我们看下面这个图片,当我们使用这个函数的时候,它返回的是当前的时分秒,

注意:我们不可以像下面这样写,不可以用这样的方式直接显示出年月日时分秒。

1.3 current_timestamp()

这个函数的作用是返回当前时间戳。

语法:

sql 复制代码
select current_timestamp();

时间戳:指 1970 年 1 月 1 日 00:00:00 UTC,也称为 "纪元时间",开始经过的秒数、毫秒数等形式来表示。

当然时间戳并不是只有一串数字的形式,我们也可以把它转化成时间,我们看下面这个图片,但我们使用这个函数的时候返回的是当前的年月日时分秒。

1.4 date(datetime)

这个函数的话就是可以返回括号里面的日期,简单来说就是用户输入年月日时分秒,然后这个函数返回里面的年月日。

语法:

sql 复制代码
select * date(输入日期);

我们看下面这个图片,就想下面这样就可以返回日期。

我们也可以像下面这样去把这个date当做一个变量的类型。

1.5 date_add(date, interval d_value_type)

这个函数有点类似于上面的那个date,这个函数的话就是先输入一个日期,,然后我们在第二个输入interval x day,那返回的结果就是在第一个日期基础上加上x天。

语法:

sql 复制代码
select date_add('日期',interval x day);

像下面这个张图,我们这样写就可以在2025-10-30这个日期上加上10天。

1.6 date_sub(date, interval d_value_type)

这个函数的话正好与上面这一个函数相反,它的话是返回date-value的值。

语法:

sql 复制代码
select date_sub('日期',interval x day);

我们看下面这个图片,这样我们就得到了比2025-10-30少10天的日期。

1.7 datediff(date1, date2)

这个函数也比较简单,就是返回date1-date2的天数。

语法:

sql 复制代码
select datediff('A日期','B日期');

我们看下面这个图片,这样得到的结果就是A减去B的天数。

1.8 now()

这个函数的话就是返回输入这行指令的年月日时分秒。

语法:

sql 复制代码
select now();

我们看下面这张图片,这样就可以返回现在的年月日时分秒。

相关推荐
武子康几秒前
大数据-188 Logstash Output 插件实战:stdout/file/Elasticsearch 输出配置与调优
大数据·后端·logstash
oioihoii几秒前
C++20协程如何撕开异步编程的牢笼
linux·服务器·c++20
物流可信数据空间4 分钟前
专家解读 | 探索安全与价值共赢的智驾数据流通新范式——兼论对物流可信数据空间建设的启示
大数据
神的泪水4 分钟前
深度解析:基于 DeepSeek V3.2 与 Claude Code 构建终端智能体开发环境
大数据·elasticsearch·搜索引擎
AI营销前沿5 分钟前
原圈科技AI营销内容生产:多智能体平台引领文旅行业革新
大数据·人工智能
P-surp6 分钟前
mysql 数据库 批量库 迁移、恢复
数据库·mysql
黑不溜秋的7 分钟前
Ubuntu 20.04 安装 搜狗输入法
linux·运维·服务器
SPFFC1893803305310 分钟前
抗干扰磁环排线 | Magnetic Ring Flat Cable - 高磁导率EMI抑制解决方案
服务器·数码相机·车载系统·机器人·音频·智能音箱·智能电视
繁星星繁14 分钟前
【Mysql】数据库的操作
数据库·mysql·oracle
Dxy123931021618 分钟前
Elasticsearch 查询入门:像查字典一样简单
大数据·elasticsearch