Python pymssql Select 序列号返回奇怪的值

Python pymssql Select Sequence Number Returning Strange Value

我正忙于使用 Python 的 pymssql 查询 SQL 服务器数据库,并且从以下查询中得到了一个奇怪的结果

cursor = conn.cursor()
cursor.execute("select current_value from sys.sequences where name = 'testSequence'")
currentValue = cursor.fetchone()[0]
cursor.close()
print(currentValue)

打印中的值显示为b'.\x00\x00\x00\x00\x00\x00\x00'

然后当我尝试将字节转换为整数时

currentValue = int.from_bytes(cursor.fetchone()[0], byteorder="big")

我得到一个大得离谱的数字3530822107858468864

在 SQL Server Studio 中执行完全相同的查询,我可以看到实际的 current_value 只是 40。我是不是转换错了,还是有什么东西我没看到?

注意

只需额外提及我正在使用 Python3(以防有人看不到标签)

bigint转float64,可以用CAST和VARCHAR绕过

cursor = conn.cursor()
cursor.execute("select CAST(current_value AS VARCHAR(20)) AS current_value from sys.sequences where name = 'testSequence'")
currentValue = cursor.fetchone()[0]
cursor.close()
print(currentValue)