【发布时间】:2014-10-20 13:14:45
【问题描述】:
我需要将 numpy 数组存储在 MS SQL 数据库的 varbinary(max) 字段中。在 MySQL 中这是一项简单的任务,但 MS SQL 更复杂。为了能够存储一些东西,我需要像这样弄乱 CONVERT:
db_cursor.execute("INSERT INTO MyTable (AVect, BVect, SomeId) VALUES (CONVERT(varbinary(max), %s), CONVERT(varbinary(max), %s), %s)", (bytes(a_vect), bytes(b_vect), 42))
但是当我跑步时
db_cursor.execute("SELECT AVect FROM MyTable WHERE SomeId=42")
db_cursor.fetchone()['AVect'] 的值为
b'[ 0.00000000e+00 1.22070312e-04 2.44140625e-04 ..., 4.99755859e-01\n 4.99877930e-01 5.00000000e-01]'
我假设问题在于我如何使用 CONVERT 但它应该是什么?
【问题讨论】:
-
我期望的值是 b'\xdbF\xbeT*>\xf8??\xb1M\xd7"\xa8\xc5\xbf\xcf\xfe\xcb3\x0c\x9f\xd4\xbf \x11\x990Nc\xe3\xfc\xbf!:e8X\xb2\xf0?\x15bYn\xfa\xf9\x06@\x00\xba\x04\xcb\xd2\xc6\xf0\xbf=\x03\xf9$\ xa5\x93\xe1?\xed\xb6U\xf7\xae/\xf0\xbf\x14 6I\x9aP\xe2?'
标签: python arrays numpy pymssql