- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我无法理解此声明-到处搜寻
pv_no_list :='23,34,45,56';
SELECT DISTINCT REGEXP_SUBSTR (pv_no_list,
'[^,]+',
1,
LEVEL)
no_list
FROM DUAL
CONNECT BY REGEXP_SUBSTR (pv_no_list,
'[^,]+',
1,
LEVEL) IS NOT NULL
最佳答案
connected by
的“滥用”(正如Colin't Hart所说的)在这里具有良好的用途:
通过使用REGEXP_SUBSTR
,您只能提取4个匹配项之一(23、34、45、56):正则表达式[^,]+
匹配字符串中不包含逗号的任何字符序列。
如果您尝试运行:
SELECT REGEXP_SUBSTR ('23,34,45,56','[^,]+') as "token"
FROM DUAL
23
。
SELECT REGEXP_SUBSTR ('23,34,45,56','[^,]+',1,1) as "token"
FROM DUAL
23
,因为现在我们还设置了
two additional parameters:从位置1开始查找(这是默认设置),并返回第一个出现的位置。
SELECT REGEXP_SUBSTR ('23,34,45,56','[^,]+',1,2) as "token"
FROM DUAL
34
(第二次出现),并将
3
作为最后一个参数将返回
45
,依此类推。
connected by
和
level
的使用可确保您将收到所有相关结果(不过不一定按原始顺序!):
SELECT DISTINCT REGEXP_SUBSTR ('23,34,45,56','[^,]+',1,LEVEL) as "token"
FROM DUAL
CONNECT BY REGEXP_SUBSTR ('23,34,45,56','[^,]+',1,LEVEL) IS NOT NULL
order by 1
TOKEN
23
34
45
56
关于sql - regexp_substr中的by子句连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19195280/
我想用 PL/SQL 将分号分隔的字符串分成几个部分。只要字符串中没有圆括号,它就可以与 REGEXP_SUBSTR 一起正常工作。 示例: select REGEXP_SUBSTR('A;B;C',
我有一个文本作为 Revision:3336179e1ebaa646cf281b7fb9ff36d1b23ce710$ modified $RevDate:10-04-2017 11:43:47$ b
我想将此正则表达式模式复制到 regexp_substr。我想捕获第二组。 '(\?)(.*?)(&|$)' 我已经尝试过了 regexp(my_url, '\\?.*?&|$') 以及上面的一些类似
我想将此正则表达式模式复制到 regexp_substr。我想捕获第二组。 '(\?)(.*?)(&|$)' 我已经尝试过了 regexp(my_url, '\\?.*?&|$') 以及上面的一些类似
请看下面的正则表达式示例: https://regexr.com/4ek7r 如您所见,正则表达式运行良好,与产品说明中的尺寸(例如 3/16"等)相匹配。 我正在尝试使用 REGEXP_SUBSTR
我有一个名为 Website 的字段,其中包含如下示例: https://ivalore.com.br https://cornstalk.com https://penny.co 我正在尝试使用 R
我在一列中有以下示例值 Abc-123-xyz Def-456-uvw Ghi-879-rst-123 Jkl-abc 预期输出是用'-'分割的第三个元素,如果没有第三个元素,将检索最后一个元素。 请
我想使用 regexp_substr 提取包名称。 例如: create or replace package body something.pkg_test is 我要那个: pkg_test 我试
当执行下面的查询时,我得到“235”而不是预期结果“0” select REGEXP_SUBSTR(000.235||'', '[^.]+', 1, 1) from dual; 最佳答案 改为执行
我正在使用 Oracle 数据库,我正在尝试查找并提取与特定模式匹配的字符串中的所有匹配项... 应该是 3 个字母,3 个数字,然后可能是字母,也可能不是 我试过这个: SELECT REGEXP_
我有一个带有 varchar 列的表,其中的数据如下: " ea 35 3.15 " 我需要能够提取 valorTasa 标记之间的值,但不
我有一个名为 data_column 的列,它有一些值,例如“123123,12,123123”。我想计算按第二个分组的行数。 但是当我运行 select count(*) from table gr
我有一个以这种格式出现的字符串 Transaction 'pqr_111_xyz_222(Aaaa Bbbb Cccc - 3333)' failed due to connection error
我有一个以不同格式出现的字符串,如下所示: UserId=1;IP Address=85.154.221.54;Device Type=Chrome57 Device Type=Chrome57;IP
我正在尝试使用 Oracle 12c regexp_substr 从字符串中提取一个单词,但没有理解它是如何工作的,网络中的信息太多,我感到困惑。 所以我想提取tmp*字符串中的表:query_str
我想从表格的字符串列中提取一个词。 description =========================== abc order_id: 2 xxxx yyy aa mmm order_id:
我想从表格的字符串列中提取一个词。 description =========================== abc order_id: 2 xxxx yyy aa mmm order_id:
我正在尝试使用 regexp_subtr 拆分字符串,但我无法使其工作。 所以,首先,我有这个查询 select regexp_substr('Helloworld - test!' ,'[[:spa
我试图从逗号分隔的列表中返回字符串列表。但是,我仍然想在字符串中返回逗号,它们出现在双引号之间。 这是我目前的声明: SELECT regexp_substr('one,two,"three, f
我有 A.FIELD 输出以下格式: 9:30AM - 12:50PM AbCdEfGhIj XY-000 我正在尝试找出一种方法来根据指定的分隔符获取每个单独的值。 第一个 之前的所有整数:(例如:
我是一名优秀的程序员,十分优秀!