列具有文本类型,其数据看起来像“{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/