На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: ALXR
  
    > Как заменить в дате слэши на точки? , Oracle PL/SQL
      Всем здравствуйте!
      Есть строки вида О-37-97/1995(ДСК); Населённые пункты Тверской области, 1998; Закон Тверской области, №42-ЗО от 28/02/2005; бла-бла-бла.
      Отлавливаю их по шаблону '[[:digit:]]{1,2}[/][[:digit:]]{1,2}[/][[:digit:]]{4}'.
      Как поменять слэши в дате и оставить слэш в годе издания карты?
      Сообщение отредактировано: #SI# -
        ну а чем отличается красненькая последовательность цыфорок и слешей от синенькой? по этой теме и определять, где менять, а где нет.
          Тем, что я мог бы выделить ТУТ и другими цветами. А с каким цветом хранятся данные в БД Oracle - мож Ларри Эллисон знает. А мож и не знает.
          ЗЫ - не флуди, а?
            Сделай из цифр группы (возьми их в скобки), заменяй на \1.\2.\3

            Кстати, \d что, не распознаётся как цифра? Это проще чем [[:digit:]].
              Спасибо! Попробую.
                ExpandedWrap disabled
                  select regexp_replace('qwerty 11/12/2012, 3/1/2012 for N-37-001/2001', '(\d{1,2})[/](\d{1,2})[/](\d{4})', '\1.\2.\3') from dual

                :thanks:
                  Работает?
                    :yes: :yes:
                    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                    0 пользователей:


                    Рейтинг@Mail.ru
                    [ Script execution time: 0,0234 ]   [ 15 queries used ]   [ Generated: 28.03.24, 09:45 GMT ]