列具有文本类型,其数据看起来像“{U}{R}”或“{3}{U}{U}{U}{U}”。
如何确定包含此列的“U”个数?
我想选择那些至少有一个且最多有三个{U}的数据。

最佳答案

您可以删除代码U并在删除之前/之后比较其大小。这个差异就是发生的次数。

select length('{3}{U}{U}{U}{R}{R}')-length(translate('{3}{U}{U}{U}{R}{R}','U','')) AS U_CNT;

-->3个
或者更一般
select length(colname)-length(translate(colname,'U','')) AS U_CNT;

关于postgresql - Postgresql:如何确定一个文本中有多少个字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44075817/

10-15 18:26