Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Не могу конвертировать значение ячейки в int и float  [new]
romasimeiz
Member

Откуда:
Сообщений: 55
Добрый день!
Помогите пожалуйста, не могу разобраться с запросом.
В SQL Server у меня создан связанный сервер ORASERV в котором есть список всех таблиц в БД Oracle.
Для таблиц этого сервера я пишу запрос:

  select   @er_ = sum((CASE g.inverted WHEN 'y' THEN -1 ELSE 1 END)*h.er)
      from(SELECT mid,inverted
         FROM [ORASERV]..[RYDA].[GROUPS]) g, --[GROUPS] это табличка с данными в БД Oracle 
        [ORASERV]..[RYDA].[HALFHOUROLD] h
      where h.mid = g.mid

пишет ошибку "преобразования значения nvarchar "2377,2" в тип данных int"
Если убрать *h.er ошибка пропадает, но результат будет некорректным.
Посмотрел описание столбца er в БД Oracle - оно типа number.
Пытался всяческими способами конвертировать - ни в какую... :(
Что я неправильно делаю?

Этот запрос я переконвертировал из функции написанной на PL-SQL, который работает в Oracle.
declare
dt date;
er_ number;
begin
select sum(decode(g.inverted, 'y', -1, 1) * er) into er_
      from
        (select mid, inverted from groups where mid is not null
           connect by prior gid = parent start with gid = c.gid) g,
        halfhourold h
      where h.mid = g.mid      
end;
26 ноя 14, 12:33    [16907223]     Ответить | Цитировать Сообщить модератору
 Re: Не могу конвертировать значение ячейки в int и float  [new]
iap
Member

Откуда: Москва
Сообщений: 47045
А если так?
CAST(REPLACE(h.er,',','.') AS DEC(19,2))
разрядность и точность DEC() зависят от ораклового number.
Я не знаю ничего про этот тип.
26 ноя 14, 12:38    [16907255]     Ответить | Цитировать Сообщить модератору
 Re: Не могу конвертировать значение ячейки в int и float  [new]
romasimeiz
Member

Откуда:
Сообщений: 55
iap,

спасибо большое. какие то результаты выдаёт
26 ноя 14, 12:48    [16907312]     Ответить | Цитировать Сообщить модератору
 Re: Не могу конвертировать значение ячейки в int и float  [new]
PA
Member

Откуда: Санкт-Петербург
Сообщений: 4146
romasimeiz,

Насколько помню, надо NLS_LANG править или что-то около него.
26 ноя 14, 12:49    [16907322]     Ответить | Цитировать Сообщить модератору
 Re: Не могу конвертировать значение ячейки в int и float  [new]
romasimeiz
Member

Откуда:
Сообщений: 55
PA,
спасибо, поэкспериментирую.
26 ноя 14, 13:03    [16907421]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить