钟二网络头像

钟二网络

探索SQL查询技巧、Linux系统运维以及Web开发前沿技术,提供一站式的学习体验

  • 文章92531
  • 阅读1280306
首页 SQL 正文内容

Sql将一列浮点数转换成日期

钟逸 SQL 2025-09-10 19:00:37 2

可以将浮点数转换为日期吗?

是的,可以使用SQL将浮点数转换为日期。浮点数是一种表示分数或小数的数字类型,而日期是一种表示日历日期的数字类型。

转换

要将浮点数转换为日期,可以使用以下SQL语句:

sql

SELECT DATEFROMPARTS(Y, M, D) FROM (

SELECT

CAST(STRFTIME('%Y', <浮点列>) AS INTEGER) AS Y,

CAST(STRFTIME('%m', <浮点列>) AS INTEGER) AS M,

CAST(STRFTIME('%d', <浮点列>) AS INTEGER) AS D

)

其中,<浮点列>是要转换的浮点数列。此语句使用STRFTIME函数从浮点数中提取年、月和日,然后将它们转换为整数并使用DATEFROMPARTS函数创建日期。

示例

例如,要将浮点数列"时间戳"转换为日期,可以使用以下查询:

sql

SELECT DATEFROMPARTS(Y, M, D) FROM (

SELECT

CAST(STRFTIME('%Y', 时间戳) AS INTEGER) AS Y,

CAST(STRFTIME('%m', 时间戳) AS INTEGER) AS M,

CAST(STRFTIME('%d', 时间戳) AS INTEGER) AS D

)

此查询将创建一个新的列,其中包含从"时间戳"列转换的日期。可以通过向SELECT语句中添加WHERE子句来过滤结果,例如:

sql

SELECT DATEFROMPARTS(Y, M, D) FROM (

SELECT

CAST(STRFTIME('%Y', 时间戳) AS INTEGER) AS Y,

CAST(STRFTIME('%m', 时间戳) AS INTEGER) AS M,

CAST(STRFTIME('%d', 时间戳) AS INTEGER) AS D

)

WHERE Y = 2023

此查询将仅返回2023年的日期。

文章目录
    搜索