首页 > 解决方案 > 从 SQL 中的短日期格式中提取数字日期值

问题描述

我正在尝试将短日期格式转换为 SQL 中的数字日期格式。

以下是我要转换的日期: 16-Mar-20 18-Mar-20 12-Mar-20

我见过许多基于数字重新格式化日期的方法,但我正在使用具有不同日期类型的数据集。为了确保平滑,我想知道将这些数字转换为数字日期的方法是什么。请注意,即使我单独提取日月和年,我也可以将它们与各自的值相乘以获得日期。这是我所做的:(尽管我尝试了多种方法,但这是给我带来最接近结果的方法,请注意,我的最终目标是将日期转换为数值)

FROM_UNIXTIME(`Start Date`, 'dd-MMM-yy') AS 'Date Numeric'

这里的开始日期按照我上面提到的方式格式化。(20 年 3 月 14 日)。

标签: mysqlsql

解决方案


UNIX_TIMESTAMP 是您需要的,但首先您必须将数据转换为日期

UNIX_TIMESTAMP(STR_TO_DATE(`Start Date`, '%d-%b-%y'))

SELECT UNIX_TIMESTAMP(STR_TO_DATE( "14-Mar-20", "%d-%b-%y"))

你得到

UNIX_TIMESTAMP(STR_TO_DATE( "14-Mar-20", "%d-%b-%y"))
1584144000

推荐阅读