【发布时间】:2017-06-12 08:11:05
【问题描述】:
我需要选择一个子字符串来从表格字段中获取连续数字。我的桌子是:
ORDER_NUM ORDER_DATE ORDER_TYPE LOCATION SALE_TYPE
10501702315618 08/01/17 43223 1050 18
105017023186230 21/01/17 43221 1050 230
字段ORDER_NUM生成如下
[LOCATION] + [YY] + [CONSECUTIVE_NUMBER] + [SALE_TYPE]
LOCATION 和 SALE_TYPE 字段的长度可以不同。所以,我的查询是:
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
索引位置在哪里:
12345678901234
10501702315618
如何从字符串中删除 SALE_TYPE 字符?这个还有别的功能吗?
谢谢!
【问题讨论】:
-
CONSECUTIVE_NUMBER 长度是固定的还是变化的?
标签: sql oracle select substring