不允许从数据类型varbinary到date

问题描述:

我尝试将 varbinary 数据类型转换为 date 数据类型,但遇到了错误消息“不允许从数据类型 varbinary 到 date”。

解决方案:

这个错误消息的意思是,您正在尝试将一个不兼容的数据类型转换为 date 类型。在 SQL Server 中,varbinary 数据类型是一种二进制数据类型,而 date 数据类型是一种日期和时间数据类型。这两种数据类型是不兼容的,不能直接进行转换。

要解决这个问题,您需要先将 varbinary 数据类型转换为一个兼容的数据类型,然后再将其转换为 date 数据类型。具体转换的方法取决于您存储在 varbinary 列中的数据类型。

例如,如果您存储的是 UNIX 时间戳,则可以使用以下方法将其转换为 date 数据类型:

SELECT DATEADD(SECOND, CAST(CAST(varbinary_column AS BIGINT) / 1000 AS INT), '19700101') AS date_column
FROM your_table

这个查询将 varbinary 列转换为 BIGINT 类型,然后将其除以 1000 以获得秒数。然后使用 DATEADD 函数将这些秒数添加到 1970 年 1 月 1 日,以获得日期时间值。

请注意,这只是一个示例,具体的转换方法取决于您存储的数据类型和格式。

希望这个解决方案能帮到您。如果您还有其他问题,请随时提出。

  •