如何在PostgreSQL中获取单元格值中的换行符数量

让我们假设我有一个名为bookInfo的虚构表,其中包含以下值:

|id   |book_name   |description   |
-----------------------------------
|1    |book 1      |dummy         |
|2    |book 2      |harry         |
|     |            |potter        |
|     |            |Part 2        |
|3    |...

第二条记录(id = 2)的描述列的单元格值包含“harry”和“potter”关键字之间的多个换行符,如下所示:

harry \n potter \n part 2

有没有办法计算描述列中的换行符数量,例如做类似以下的事情:

SELECT (count new line)description FROM bookInfo WHERE id=2;

先前的查询应返回2的整数值.

最佳答案
您可以使用SQL标准位置函数:

craig=> SELECT position( E'\r' in E'abc\rdef\rghi' );
 position 
----------
        4
(1 row)

要么:

craig=> SELECT position( chr(13) in E'abc\rdef\rghi' );
 position 
----------
        4
(1 row)

转载注明原文:如何在PostgreSQL中获取单元格值中的换行符数量 - 代码日志