我想知道这是否可以在sqlite中使用。
SELECT * FROM tbl WHERE substr_count(f, '*') = 5
它应该返回在" f"中有5个星号的记录。列,如
a*b**c**
****a*
等等
答案 0 :(得分:2)
SELECT * FROM table WHERE length(f)-replace(f,'*','')= 5
答案 1 :(得分:1)
如果您的计数器或数字表只包含一个连续的整数列表,那么此解决方案很简单。这将是您填充一次但有许多用途的表。有了这个,你有:
Create Table Tally ( N int );
Insert Tally( N )
...
Select Z.<PrimaryKeyCol>, Sum( Z.Val )
From (
Select <PrimaryKeyCol>, 1 As Val
From tbl
Cross Join Tally As T
Where substr( tbl.f, T.N, 1 ) = '*'
) As Z
Group By Z.<PrimaryKeyCol>
Having Sum( Z.Val ) = 5