Я использую python 3.6 и pymssql, чтобы попытаться извлечь некоторые данные из таблицы.все хорошо, за исключением столбцов datetimeoffset.
У меня есть таблица, в которой есть столбец с именем DateCreated с типом DateTimeOffset.
этот столбец имеет набор по умолчанию sysdatetimeoffset ()
Когда я использую tsql, azure data studio и утилиты freetds.все они возвращают ожидаемое значение.
, когда я использую скрипт Python, который, по сути, является
import pymssql
username = 'myusername'
pw = 'mypw'
server = 'myserver'
db = 'mydb'
c = pymssql.connect(server,username,pw,db)
cur = c.cursor()
cur.execute('select DateCreated from myTable where DateCreated and id = 2')
r = cur
for x in r:
print (x)
#print (struct.calcsize(data))
#print (data.decode("utf-8"))
break
, ожидаемые данные будут выглядеть примерно так: 2019-06-20 09:54:40.09550 -04: 00
я получаю
b'\x00.,x\x82\x00\x00\x00p\xaa\x00\x00\x10\xff\x07\xe0'
отлично, это двоичный файл, я могу распаковать это .. подожди, нет, я не могу .. я могу использовать трюк pyodbc верно-верно?!?!Нет, я не могу этого сделать, ни та строка формата не позволит мне распаковать значение.
Так что на данный момент я озадачен, что я делаю неправильно, в конце дня я хочу знать, почему датывозвращаясь как двоичный файл вместо того, что я могу манипулировать.
Все говорит мне, что это должно работать.