解析SQL Server插入查询到PostgresSQL时,我遇到了以下问题。在对查询进行必要的更改以使 SQL 语句正常工作后,我在使用CAST()
函数时遇到了一些麻烦。
CAST(x00009DD500000000 AS timestamp)
如果我写
CAST(0x000....)
,pgAdmin说x附近有一个语法错误如果我删除 0,则会收到该列不存在的错误
我认为这可能是列数的错误,但由于我正在处理大量数据并且我无法看到在 postgresql 中将十六进制转换为时间戳的函数,我想知道这是否会导致其他类型的错误。或?
是否有将十六进制值转换为 Postgresql 时间戳的函数?
因为将十六进制值转换为其他类型的数据将花费大量时间。
提前感谢!
此时间戳表示法特定于 MSSQL。它由两部分组成:
- 日期部分 - 自 1900-01-01 以来的日子
- 时间部分 - 精度为 1/300s
在PostgreSQL中没有自动转换此值。 您可以在此处找到确切的解决方案: 如何将十六进制转换为 Varchar(日期时间(?