powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / проблема с конвертацией(((
25 сообщений из 26, страница 1 из 2
проблема с конвертацией(((
    #38265927
Павел Брус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в нас БД есть на DB2, есть отдельно даблица улиц и таблица адресов.в таблице адресов номера домов в наше бд записаны в текстовом формате. для конвертации мы выгружаем таблицы в текстофый файл, и потом надо конвертировать в другую готовую бд на MySQL, она в нас пустишка. проблема что в нас иде номер дома 4а, а в бд на MySQL отдельно столбец 4 как чисельные и столбец а как текстовые. Опита в конвертации к сожалению мы не имеем, а начальство поджимает.
...
Рейтинг: 0 / 0
проблема с конвертацией(((
    #38266192
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Павел Брус,

Если задача просто разделить номер дома вида '123АБВ' на число и буквы, которые могут следовать за числом, то:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
select 
  xmlcast(
  xmlquery('fn:replace($s, "^\s*(\d+)([^\d]*)", "$1")' passing a.house as "s")
  as varchar(10)) number
, xmlcast(
  xmlquery('fn:replace($s, "^\s*(\d+)([^\d]*)", "$2")' passing a.house as "s")
  as varchar(10)) letters
from address a
...
Рейтинг: 0 / 0
проблема с конвертацией(((
    #38266203
Павел Брус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,
спасибо
...
Рейтинг: 0 / 0
проблема с конвертацией(((
    #38266212
Павел Брус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark BarinsteinПавел Брус,

Если задача просто разделить номер дома вида '123АБВ' на число и буквы, которые могут следовать за числом, то:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
select 
  xmlcast(
  xmlquery('fn:replace($s, "^\s*(\d+)([^\d]*)", "$1")' passing a.house as "s")
  as varchar(10)) number
, xmlcast(
  xmlquery('fn:replace($s, "^\s*(\d+)([^\d]*)", "$2")' passing a.house as "s")
  as varchar(10)) letters
from address a



($s, "^\s*(\d+)([^\d]*)", "$2")' тут вы перебираете символы?
...
Рейтинг: 0 / 0
проблема с конвертацией(((
    #38266217
Павел Брус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark BarinsteinПавел Брус,

Если задача просто разделить номер дома вида '123АБВ' на число и буквы, которые могут следовать за числом, то:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
select 
  xmlcast(
  xmlquery('fn:replace($s, "^\s*(\d+)([^\d]*)", "$1")' passing a.house as "s")
  as varchar(10)) number
, xmlcast(
  xmlquery('fn:replace($s, "^\s*(\d+)([^\d]*)", "$2")' passing a.house as "s")
  as varchar(10)) letters
from address a



что-то я не встричался с таким способом написания
...
Рейтинг: 0 / 0
проблема с конвертацией(((
    #38266288
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Павел Брус($s, "^\s*(\d+)([^\d]*)", "$2")' тут вы перебираете символы?
Нет, это использование т.н. регулярных выражений.
В шаблоне "^\s*(\d+)([^\d]*)" лексемы слева направо:
Код: plaintext
1.
2.
3.
^        - начало строки
\s*      - 0 или несколько пробелов
(\d+)    - одна или несколько цифр
([^\d]*) - 0 или несколько не цифр

Скобки вокруг лексем означают, что мы хотим их пронумеровать, чтоб потом к этим выделенным группам обращаться.
Если ваша строка попадает под определение этого шаблона, то функция fn:replace заменяет исходную строку на ту, которая указана в 3-м параметре.
В нашем случае значение этого параметра "$2", что означает "2-я группа из выделенных шаблоном".
2-я группа это:
([^\d]*) - 0 или несколько не цифр
...
Рейтинг: 0 / 0
проблема с конвертацией(((
    #38266369
Павел Брус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,
выдает ошибку
an unespected token "passing" was found following "d+)([^\d]*)", "$1")' ", что может быть не так, код такой написал
select cast(query('fn:replace($s, "^\s*(\d+)([^\d]*)", "$1")' passing a.LOCATIONHOUSE as "s")
as varchar(10)) number
, cast(query('fn:replace($s, "^\s*(\d+)([^\d]*)", "$2")' passing a.LOCATIONHOUSE as "s")
as varchar(10)) letters
from address a
...
Рейтинг: 0 / 0
проблема с конвертацией(((
    #38266449
Павел Брус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,
какую роль тут играет passing, что-то я не знаком с этой функцией?
...
Рейтинг: 0 / 0
проблема с конвертацией(((
    #38266546
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Павел Брусвыдает ошибку
an unespected token "passing" was found following "d+)([^\d]*)", "$1")' ", что может быть не так, код такой написал
select cast(query('fn:replace($s, "^\s*(\d+)([^\d]*)", "$1")' passing a.LOCATIONHOUSE as "s")
as varchar(10)) number
, cast(query('fn:replace($s, "^\s*(\d+)([^\d]*)", "$2")' passing a.LOCATIONHOUSE as "s")
as varchar(10)) letters
from address a
Скажите:
- версию db2
- зачем вы в запросе заменили xmlcast и xmlquery на cast и query соответственно?

Познакомьтесь с xmlquery , если интересно.
...
Рейтинг: 0 / 0
проблема с конвертацией(((
    #38266554
Павел Брус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,
спасибо,я розобрался. заработало. единственый нюанс))) извенити может напрягаю вас. дошло не строчки в которой пишет гараж, и кинуло ошибку. может подскажете как быть?
...
Рейтинг: 0 / 0
проблема с конвертацией(((
    #38266567
Павел Брус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,
большое спасибо, очень выручили. все получилось.мир не без добрых людей
...
Рейтинг: 0 / 0
проблема с конвертацией(((
    #38266692
Павел Брус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark еще такой вопрос. у меня db2 9,запрос выполняеться, у колеги 8,у него не выполняеться. ето из-за того что разные версии?
...
Рейтинг: 0 / 0
проблема с конвертацией(((
    #38267804
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Павел БрусMark еще такой вопрос. у меня db2 9,запрос выполняеться, у колеги 8,у него не выполняеться. ето из-за того что разные версии?В 8 этого нет.
Там можно пользоваться функцией translate, только там придётся перечислять все символы, которые надо будет заменить.
Типа:
translate('123абв', '', 'абвгдеёжзийклмнопрстуфхцчшщъьеюя') для номера
и
translate('123абв', '', '0123456789') для букв
...
Рейтинг: 0 / 0
проблема с конвертацией(((
    #38267856
Павел Брус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark BarinsteinПавел БрусMark еще такой вопрос. у меня db2 9,запрос выполняеться, у колеги 8,у него не выполняеться. ето из-за того что разные версии?В 8 этого нет.
Там можно пользоваться функцией translate, только там придётся перечислять все символы, которые надо будет заменить.
Типа:
translate('123абв', '', 'абвгдеёжзийклмнопрстуфхцчшщъьеюя') для номера
и
translate('123абв', '', '0123456789') для букв
спасибо за информацию
...
Рейтинг: 0 / 0
проблема с конвертацией(((
    #38278957
Павел Брус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,
добрый день. подскажите пожалуйса. Есть например написав любой запрос, который вытаскивает любую инфу. Может есть команда или набор команд, которые дописав в конце запроса сохраняли выдаваемый результат сразу в txt файл, чтоб вручую не сохранять, а задав имя которое хочеш, результат сохранился у файл.
Зарание спасибо!
...
Рейтинг: 0 / 0
проблема с конвертацией(((
    #38279174
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Павел БрусЕсть например написав любой запрос, который вытаскивает любую инфу. Может есть команда или набор команд, которые дописав в конце запроса сохраняли выдаваемый результат сразу в txt файл, чтоб вручую не сохранять, а задав имя которое хочеш, результат сохранился у файл.
Добрый день.

Зависит от того, откуда вы этот запрос выполняете и куда хотите сохранить данные.
Например, командный процессор db2 имеет Command line processor options , среди которых есть опция -r.
Если надо на сервере сохранять результаты, то можно:
IMPORT command using the ADMIN_CMD procedure
...
Рейтинг: 0 / 0
проблема с конвертацией(((
    #38279577
Павел Брус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark BarinsteinПавел БрусЕсть например написав любой запрос, который вытаскивает любую инфу. Может есть команда или набор команд, которые дописав в конце запроса сохраняли выдаваемый результат сразу в txt файл, чтоб вручую не сохранять, а задав имя которое хочеш, результат сохранился у файл.
Добрый день.

Зависит от того, откуда вы этот запрос выполняете и куда хотите сохранить данные.
Например, командный процессор db2 имеет Command line processor options , среди которых есть опция -r.
Если надо на сервере сохранять результаты, то можно:
IMPORT command using the ADMIN_CMD procedure

Здраствуйте. Написал запрос
select d.code,substr(d.code,1,2),substr(d.name,1,40)
from DISTRICT d. что мне нужно написать чтоб результат етого запроса сразу при выполнении выгружалься в txt файл?
...
Рейтинг: 0 / 0
проблема с конвертацией(((
    #38279595
Павел Брус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Запрос пишу в RSQL740(RapidSQL740)
...
Рейтинг: 0 / 0
проблема с конвертацией(((
    #38281610
Павел Брус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здраствуйте. Написал запрос
select d.code,substr(d.code,1,2),substr(d.name,1,40)
from DISTRICT d. что мне нужно написать чтоб результат етого запроса сразу при выполнении выгружалься в txt файл?
Запрос пишу в RSQL740(RapidSQL740)
...
Рейтинг: 0 / 0
проблема с конвертацией(((
    #38281869
CawaSPb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел Брус,

Как-то все поленились ответить.

Код: sql
1.
2.
EXPORT TO  my_cool_txt_file.csv OF DEL
  select d.code,substr(d.code,1,2),substr(d.name,1,40)  from DISTRICT d


EXPORT utility
...
Рейтинг: 0 / 0
проблема с конвертацией(((
    #38282227
Павел Брус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CawaSPbПавел Брус,

Как-то все поленились ответить.

Код: sql
1.
2.
EXPORT TO  my_cool_txt_file.csv OF DEL
  select d.code,substr(d.code,1,2),substr(d.name,1,40)  from DISTRICT d


EXPORT utility
спасибо, но не работает(((
...
Рейтинг: 0 / 0
проблема с конвертацией(((
    #38283614
CawaSPb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел Брус,

Не бывает такого "слова" "не работает". Бывает "выдаёт ошибку SQLxxxN с таким-то сообщением или SQLSTATE".
...
Рейтинг: 0 / 0
проблема с конвертацией(((
    #38285285
Павел Брус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CawaSPbПавел Брус,

Не бывает такого "слова" "не работает". Бывает "выдаёт ошибку SQLxxxN с таким-то сообщением или SQLSTATE".
ошибка SQL0104N
...
Рейтинг: 0 / 0
проблема с конвертацией(((
    #38285629
CawaSPb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел Брус,

Сложно сказать. Ошибка завёрнута в сообщение от SYSPROC.ADMIN_CMD(). Попробуйте напрямую из DB2 CLP или приведите также и текстовое сообщение.
...
Рейтинг: 0 / 0
проблема с конвертацией(((
    #38286420
Павел Брус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Павел БрусCawaSPbПавел Брус,

Не бывает такого "слова" "не работает". Бывает "выдаёт ошибку SQLxxxN с таким-то сообщением или SQLSTATE".
ошибка SQL0104N

ошибка
an unexpected token "my_cool_txt_file" was found following "EXPORT TO"
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / проблема с конвертацией(((
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]