有什么方法可以读取新行出现在返回值中的次数?我试过regexp_count()
,但\n
只计算n
在返回值中出现的次数。计算新的一行/行的出现次数出现
SELECT REGEXP_COUNT(DATA, '\n', 1, 'i') , _DATA FROM DATA_TABLE ;
下面的示例应返回3
。
ABCSLLA
AAANN
SDSDS
有什么方法可以读取新行出现在返回值中的次数?我试过regexp_count()
,但\n
只计算n
在返回值中出现的次数。计算新的一行/行的出现次数出现
SELECT REGEXP_COUNT(DATA, '\n', 1, 'i') , _DATA FROM DATA_TABLE ;
下面的示例应返回3
。
ABCSLLA
AAANN
SDSDS
假设值都在一排,你可以尝试SELECT REGEXP_COUNT(DATA, '\A', 1, 'i') , _DATA FROM DATA_TABLE ;
REF:https://www.techonthenet.com/oracle/functions/regexp_count.php
它只匹配一个字符串的开头或匹配字符串末尾的换行符,这将始终返回1 – Potatooo
你可以尝试
SELECT REGEXP_COUNT(DATA, CHR(10), 1, 'i') , _DATA FROM DATA_TABLE;
如果你要搜索回车,这将是CHR(13)。
我制作了演示here
翻转REGEXP_COUNT
成多行模式,那么你可以使用$
计数结束串结束行而非。详细请见Table 8.2 for multiline and 8.3 for $ here。例如
SELECT REGEXP_COUNT(DATA, '$', 1, 'm') , _DATA FROM DATA_TABLE;
一个有趣的副作用是,这将返回3与您的数据,如果最后一行是或不是由一个换行符终止。
这是一个结果集,对吧?结果集中的行不会被新行终止。你应该解释你想解决什么问题 - 为什么你需要这个计数 - 然后我们可以帮助你。 – APC
如果你在SQL Developer中查看值,新行会出现.. – Potatooo