На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
msm.ru
! информация о разделе
user posted imageДанный раздел предназначается исключительно для обсуждения вопросов использования языка запросов SQL. Обсуждение общих вопросов, связанных с тематикой баз данных - обсуждаем в разделе "Базы данных: общие вопросы". Убедительная просьба - соблюдать "Правила форума" и не пренебрегать "Правильным оформлением своих тем". Прежде, чем создавать тему, имеет смысл заглянуть в раздел "Базы данных: FAQ", возможно там уже есть ответ.

Модераторы: Pr0[)!9Y, Akina, JoeUser
  
> Oracle 11 vs Oracle 12, на 11 запрос работает, на 12 - ошибка
    Всем здравствуйте!
    Запрос простой, как шланг:
    ExpandedWrap disabled
      select nkl100
        from geoobject
       where to_number(substr(nkl100, 6, 3)) > 144
       order by nkl100

    Поле NKL100 - строки вида 'N-37-023', 'P-35-142' etc... (номенклатуры карты масштаба 1 : 100 000).
    На 11 версии всё ОК, получил список некорректных номенклатур.
    На 12 версии получил ORA-01722: неверное число.

    Ничего не понимаю! :wall: :wall: :wall:
    Посмотрел на SQL.RU и прочих - как и ожидалось, сплошные пляски с бубном.

    Вот такое:
    ExpandedWrap disabled
      select nkl100,
             to_number(substr(nkl100, 6, 3))
        from geoobject
       where reg_n < 1000
       order by nkl100

    на 12 версии работает ОК!

    И вот такое работает:
    ExpandedWrap disabled
      select nkl100,
             to_number(substr(nkl100, 6, 3))
        from geoobject
       where reg_n < 1000
       order by to_number(substr(nkl100, 6, 3))


    :wall: :wall: :wall:
    Сообщение отредактировано: LMM -
    ...one shot at glory in the crossfire overhead...© JP
      Поплясал с бубном:
      ExpandedWrap disabled
        select nkl100,
               to_number(substr(nkl100, 6, 3))
          from geoobject
         where /*nkl100 is not null and*/ length(nkl100) = 8 and to_number(substr(nkl100, 6, 3)) > 144

      и нашёл ошибку в данных! Данные внесены аж в 2004 году! Надо дома глянуть, что там для этого объекта.

      Мои извинения тем, кто таки потратил на ЭТО время.
      ...one shot at glory in the crossfire overhead...© JP
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script Execution time: 0,0887 ]   [ 18 queries used ]   [ Generated: 22.10.19, 11:27 GMT ]