Мне нужно выбрать подстроку, чтобы получить последовательный номер из поля таблицы. Моя таблица:Как выбрать SUBSTRING в ORACLE
ORDER_NUM ORDER_DATE ORDER_TYPE LOCATION SALE_TYPE
10501702315618 08/01/17 43223 1050 18
105017023186230 21/01/17 43221 1050 230
Поле огйег_пит формируется следующим образом
[LOCATION] + [YY] + [CONSECUTIVE_NUMBER] + [SALE_TYPE]
Длина поля местоположения и SALE_TYPE Может быть different.So, мой запрос:
SELECT
SUBSTR(ORDER_NUM,LENGTH (ORDER_TYPE) + 3,LENGTH (ORDER_NUM) - LENGTH (SALE_TYPE)),
ORDER_DATE
FROM
CAT_ORDERS
WHERE
LOCATION = '1050'
AND SALE_TYPE = '18'
Результат
SELECT SUBSTR('10501702315618',7,12) from dual
RESULT: 02315618
Где индексное положение:
123456789
10501702315618
Как я могу удалить символы SALE_TYPE из строки? Для этого есть еще одна функция?
Thank's!
ли длина CONSECUTIVE_NUMBER исправление или изменение? –