Добрый день.
Из VBA через ADO подключаюсь к серверу галактики (MS SQL). Делаю некий запрос к базе и вот в условии запроса мне нужно указать явный NRec таблицы (WHERE t$SPMove.f$CNastrOS=А вот тут должно быть значение NRec'а таблицы NastrOS). В галактике это значение выглядит как 0000000000000002h, а вот как его указать в запросе непонятно. Вообще тип поля NRec'а binary и вот что сним делать и как с ним работать ума не приложу. Может быть кто нибудь сталкивался с такой проблемой?
VBA vs NRec
Модераторы: m0p3e, edward_K, Модераторы
-
- Местный житель
- Сообщения: 222
- Зарегистрирован: 04 июн 2008, 14:35
- Откуда: Стерлитамак
- Контактная информация:
Re: VBA vs NRec
Мы в varchar его конвертим туды сюды Так удобнее работать из приложений и скриптов. Как конвертить здесь обсуждалось.
Re: VBA vs NRec
convert(varchar, n.f$NRec) - выдает некий непонятный символ
convert(int, n.f$NRec) - выдает значение 2, когда:
NRec=0000000000000002h
NRec=0001000000000002h
Подскажите, пожалуйста, как нужно конвертировать?
convert(int, n.f$NRec) - выдает значение 2, когда:
NRec=0000000000000002h
NRec=0001000000000002h
Подскажите, пожалуйста, как нужно конвертировать?
Re: VBA vs NRec
А не ли? ))
Код: Выделить всё
convert(bigint, n.f$NRec)
Re: VBA vs NRec
Спасибо!
-
- Местный житель
- Сообщения: 222
- Зарегистрирован: 04 июн 2008, 14:35
- Откуда: Стерлитамак
- Контактная информация:
Re: VBA vs NRec
Мда... Вы надсмехаетесь что ли? MSSQL знать не знает про извращения Галактики с её NREC-ами.bezpal писал(а):convert(varchar, n.f$NRec) - выдает некий непонятный символ
convert(int, n.f$NRec) - выдает значение 2, когда:
NRec=0000000000000002h
NRec=0001000000000002h
Подскажите, пожалуйста, как нужно конвертировать?
Я же предлагал вам поискать здесь... Однако кнопку поиск вы не нашли.
Код: Выделить всё
CREATE function [dbo].[uf_CompToStr] ( @COMP BINARY(8) )
returns VARCHAR(20) as
begin
RETURN CONVERT(VARCHAR(20),(CONVERT(BIGINT,@COMP)-CONVERT(BIGINT,0x8000000000000000)))
end