как объединить столбцы varchar (32) и binary (16) в sybase? - PullRequest
0 голосов
/ 11 ноября 2011

Я хочу объединить две таблицы на UUID.UUID таблицы A представлен как varchar (32).UUID таблицы B представлен в двоичном виде (16).

Каков наилучший способ присоединить varchar к двоичному столбцу?

Я пытался использовать некоторые функции sybase для этого, но я получаю разные результаты и не знаю, почему:

select hextobigint('0x000036ca4c4c11d88b8dcd1344cdb512')
3948051912944290701
select convert(bigint,0x000036ca4c4c11d88b8dcd1344cdb512)
-2877434794219274240

что мне не хватает в конвертации и hextobigint?Я, должно быть, неправильно понимаю хотя бы одну из этих функций.спасибо за вашу помощь!

Ответы [ 2 ]

1 голос
/ 29 ноября 2011

получил это в конце концов с помощью некоторых коллег:

select strtobin(convert(char(32), '000036ca4c4c11d88b8dcd1344cdb512'))
0 голосов
/ 12 ноября 2011

Проблема в select convert(bigint,0x000036ca4c4c11d88b8dcd1344cdb512).

Если вы удалите первые нули, это даст вам тот же результат:

select hextobigint('0x000036ca4c4c11d88b8dcd1344cdb512')

и

select convert(bigint,0x36ca4c4c11d88b8dcd1344cdb512)
...