Я использую 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 правильно ПРАВИЛЬНО?!?! нет, я не могу этого сделать, либо эта строка формата не позволит мне распаковать значение.
Итак, на данный момент я в тупике, что я делаю не так, в конце дня я хочу знать, почему даты возвращаются как двоичные, а не что-то, чем я могу манипулировать.
Все говорят мне, что это должно сработать.