将字符串转换为SQL Server中的bit32替代项?

问题描述

sql Server不提供bit(32)数据类型(例如Postgres)。我需要将string转换为bit(32),然后转换为bigint,然后再转换为timestamp

我可以举个例子:

我必须将此字符串“ x5c081ca4”转换为bit(32)值:“ 01011100000010000001110010100100”,然后转换为bigint:1544035492,然后转换为时间戳:“ 2018-12-05 19:44:52 + 01” >

在Postgres中,这些将是以下功能: TO_TIMESTAMP(timeconv :: bit(32):: BIGINT)

有什么办法可以解决这个问题吗?

解决方法

SQL Server 具有一种binary数据类型:

select cast(cast('abcd' as binary(4)) as int)

长度以字节为单位,而不是以位为单位,但是它可能满足您的要求。

注意:int是四个字节,因此不需要bigint