Postgresql 将十六进制转换为时间戳(从 SQL Server 迁移时)



解析SQL Server插入查询到PostgresSQL时,我遇到了以下问题。在对查询进行必要的更改以使 SQL 语句正常工作后,我在使用CAST()函数时遇到了一些麻烦。

CAST(x00009DD500000000 AS timestamp)
  1. 如果我写CAST(0x000....),pgAdmin说x附近有一个语法错误

  2. 如果我删除 0,则会收到该列不存在的错误

我认为这可能是列数的错误,但由于我正在处理大量数据并且我无法看到在 postgresql 中将十六进制转换为时间戳的函数,我想知道这是否会导致其他类型的错误。或?

是否有将十六进制值转换为 Postgresql 时间戳的函数?

因为将十六进制值转换为其他类型的数据将花费大量时间。

提前感谢!

此时间戳表示法特定于 MSSQL。它由两部分组成:

  • 日期部分 - 自 1900-01-01 以来的日子
  • 时间部分 - 精度为 1/300s

在PostgreSQL中没有自动转换此值。 您可以在此处找到确切的解决方案: 如何将十六进制转换为 Varchar(日期时间(?

相关内容

最新更新