我的 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 数据库。也可能适合你。
CAST([column] AS DATETIME2)
您可以在
CAST
函数中使用 DATETIME 或 DATETIME2