Конференция "Базы" » Проблема соответствия типов в SQL Server при объединении таблиц [D7, MSSQL]
 
  • yurikon (07.02.12 15:40) [0]
    Приветствую!

    У меня есть две таблицы с одинаковым набором полей. Но в первой таблице в поле Р хранятся целые числа, а во второй плавающие с 2 разрядами после запятой. При объединении этих таблиц оператором UNION возникает ошибка о несоответствии типов. В частности, 0 по версии sql это не флоат. Сходу я решил эту проблему добавлением к целым числам 0.00 - это уже флоат.

    Но получил другой баг - на машинах, где в качестве разделителя целой и дробной части стоит знак "," такой трюк не проходит.

    Подскажите корректное решение проблемы?

    С уважением, Юрий.
  • Anatoly Podgoretsky © (07.02.12 15:54) [1]
    > yurikon  (07.02.2012 15:40:00)  [0]

    Это ты про запросы чтоли, так они должны делаться в системнонезависимом
    формате, то есть только с точкой.
  • yurikon (07.02.12 16:00) [2]
    Все верно, Анатолий, про запросы.

    То есть, во тексте запроса - точка - это всегда разделитель для сервера?
  • Медвежонок Пятачок © (07.02.12 16:06) [3]
    если посмотреть чем всегда является запятая, то про точку вопроса не возникнет
  • Anatoly Podgoretsky © (07.02.12 16:58) [4]
    > yurikon  (07.02.2012 16:00:02)  [2]

    Именно так, для чисел всегда точка, запятая разделение элементов списка

    3.5, 4.5 против 3,5,4,5
  • знайка (07.02.12 17:23) [5]
    CAST(0 AS FLOAT) ?
  • yurikon (08.02.12 13:25) [6]
    Знайка, спасибо! так и сделал.
  • yurikon (08.02.12 14:14) [7]
    Решил проблему. Ошибка ко всему прочему вылетала в запросах, собираемых "налету" и содержащим числовые значения флоат. Пришлось вручную заменять запятую на точку для запроса.
    Может быть в скуле есть универсальный конвертор таких вещей?

    PS
    Кроме параметров.
  • Anatoly Podgoretsky © (08.02.12 14:56) [8]
    Тогда пробуем преобразовать 3,5,4,5 --> 3.5.4.5
  • знайка (08.02.12 15:34) [9]
    А параметры использовать? или что значит "собираемых "налету" " ?
  • Anatoly Podgoretsky © (08.02.12 17:47) [10]
    > знайка  (08.02.2012 15:34:09)  [9]

    Настоящие пацаны не ищут легких путей.
    Нормальные герои всегда идут в обход.
  • yurikon (09.02.12 08:46) [11]
    Герой пришел :-). Топик можно закрывать. Спасибо за советы!
 
Конференция "Базы" » Проблема соответствия типов в SQL Server при объединении таблиц [D7, MSSQL]
Есть новые Нет новых   [134431   +11][b:0][p:0]