计算新线/线出现的次数

时间:2017-04-12 03:37:22

标签: sql oracle

有什么方法可以读取新行在返回值中显示的次数?我尝试regexp_count(),但\n仅计算n在返回值中出现的次数。

SELECT REGEXP_COUNT(DATA, '\n', 1, 'i') , _DATA FROM DATA_TABLE ;

以下示例应返回3

ABCSLLA
AAANN
SDSDS

4 个答案:

答案 0 :(得分:0)

假设这些值都在一行中,您可以尝试import React from 'react'; class Test extends React.Component{ aud_play_pause() { var myAudio = this.myTune; if (myAudio.paused) { myAudio.play(); } else { myAudio.pause(); } } render () { return( <div> <audio id="myTune" ref={(ip) => {this.mytune = ip}}> <source src={require("./audio/rain.mp3")} /> </audio> <div className="col-md-2"> <div className="row"> <div className="col-md-12"> <a className="btn btn-block btn-lg btn-primary" data-toggle="button" onClick = {this.aud_play_pause}>Rain</a> </div> </div> </div> </div> ); } } export default Test;

REF:https://www.techonthenet.com/oracle/functions/regexp_count.php

答案 1 :(得分:0)

你可以尝试

SELECT REGEXP_COUNT(DATA, CHR(10), 1, 'i') , _DATA FROM DATA_TABLE;

如果你想搜索回车,那就是CHR(13) 我创建了一个演示here

答案 2 :(得分:0)

以下查询应该适合您。

SELECT length(regexp_replace(DATA, '[^'||chr(10)||']', '')) + 1 FROM DATA_TABLE;

答案 3 :(得分:0)

REGEXP_COUNT翻转为多行模式,然后您可以使用$来计算行尾而不是字符串结尾。详见Table 8.2 for multiline and 8.3 for $ here。实施例

SELECT REGEXP_COUNT(DATA, '$', 1, 'm') , _DATA FROM DATA_TABLE;

一个有趣的副作用是,如果最后一行为OR,则返回3将使用您的数据返回3不会被换行符终止。