powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Строки
2 сообщений из 2, страница 1 из 1
Строки
    #37005403
Aquest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
Вопрос
Есть две строки:
str1='103';
str2='140';

Как сделать, чтобы 3-я строка была равна str1/str2 и при этом определять, что
деление производится по правилу:берем первых n элементов из str1 преобразуем их к int и
делим на (взятые n элементов из str2, преобразованные в int) затем следующие n элементов и т.д.

Есть вариант: INT(SUBSTR(str1,1,n))/INT(SUBSTR(str2,1,n)),INT(SUBSTR(str1,1+n,n))/INT(SUBSTR(str2,1+n,n))-но это надо идти по циклу.

Есть ли возможность без циклов.
Предполагаемый результат:

str3=ФУНКЦИЯ((str1/str2),берем по 1-му элементу)='10n'
хорошо бы если бы дописывала символ какой-то,если вдруг встретится деление на 0(например
символ n).
...
Рейтинг: 0 / 0
Строки
    #37013259
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Aquest,

Здравствуйте.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
create function regexp_tokenize(source varchar( 4000 ), pattern varchar( 128 ))
returns table (token varchar( 4000 ))
return
select x.t
from xmltable('for $id in tokenize($s, $p) return <i>{string($id)}</i>' 
passing 
  source as "s"
, pattern as "p"
columns t varchar( 4000 ) path '.') x

Код: plaintext
1.
2.
3.
4.
5.
select int(t1.token) t1, int(t2.token) t2, int(t1.token)/nullif(int(t2.token),  0 ) res
from 
  (values ('10/20/40/50', '2/10/20/0')) t (str1, str2)
, table(select rownumber() over() rn, token from table(regexp_tokenize(t.str1, '/'))) t1
, table(select rownumber() over() rn, token from table(regexp_tokenize(t.str2, '/'))) t2
where t1.rn=t2.rn
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Строки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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