在SQL中将表示时间戳的字符串转换为特定格式的时间戳数据类型

问题描述 投票:0回答:1

我的 SQL 数据库中有一个列,其中时间戳以字符串形式存储,格式为“YYYY-MM-DD HH24:MI:SS.FF”。例如,“2006-01-01 00:00:00.000000”。

现在,我需要将这些字符串转换为具有特定格式“MM/DD/YYYY HH12:MI:SS AM”的时间戳数据类型。例如,“1/1/2006 12:00:00 AM”。

我尝试将

TO_TIMESTAMP()
函数与
TO_CHAR()
一起使用,但没有得到所需的输出。这是我尝试过的:

SELECT TO_CHAR(TO_TIMESTAMP('2006-01-01 00:00:00.000000', 'YYYY-MM-DD HH24:MI:SS.FF'), 'MM/DD/YYYY HH12:MI:SS AM') AS formatted_timestamp;

但是,这个查询并没有给出我正在寻找的确切输出。

有人可以帮助我使用正确的 SQL 查询来实现此转换吗?

提前致谢!

sql informatica toad-data-point
1个回答
0
投票

当字符串采用正确的日期格式时,以下语句适用于大多数 SQL 数据库。也可能适合你。

CAST([column] AS DATETIME2)

您可以在

CAST
函数中使用 DATETIME 或 DATETIME2

© www.soinside.com 2019 - 2024. All rights reserved.