我在我的sql数据库列中有字符串。字符串看起来像:“A,AC,ACC,ACA”。可以选择在两个逗号之间选择字符串包含两次字母A吗?
例如,两行包含数据:
A,AC,ACC,ACA,ACX
A,C,CC,CX,ACX,XCA
并选择仅返回第一行,因为有部分“ACA”所以有两个字母A ...
答案 0 :(得分:1)
您应该以标准化形式存储值,而不是CSV格式。
你现在可以试试这个奇怪的正则表达式。
select * from t where concat(',', column, ',') regexp ',[^,]*A[^,]*A[^,]*,';
答案 1 :(得分:0)
您必须使用%运算符。
SELECT name FROM tb_table WHERE name LIKE '%A,A%A,A%';