查询 Sql 喜欢的字符串
Query Sql Like String
我需要有关 sql 查询 LIKE 的帮助。
数据库中列的值与以下相同:
record 1 : "3,13,15,20"
record 2 : "13,23,14,19"
record 3 : "3,14,15,19,20"......
现在我想得到最准确的值为3的记录
这是我的查询:
SELECT * FROM accounts where type like '%3%'
此查询将查找所有存在值为“3”的记录,例如:13,23 ....
它并没有解决我的问题。
试试这个:
SELECT *
FROM accounts
WHERE CONCAT(',', type, ',') LIKE '%,3,%';
这个技巧将逗号放在 type
CSV 字符串的末尾,这样我们所要做的就是检查该字符串中的任何位置的 ,3,
。
顺便说一句,通常不希望在您的 SQL 表中存储这样的 CSV 数据。相反,请考虑规范化您的数据并将这些 CSV 值存储在不同的行中。
我需要有关 sql 查询 LIKE 的帮助。 数据库中列的值与以下相同:
record 1 : "3,13,15,20"
record 2 : "13,23,14,19"
record 3 : "3,14,15,19,20"......
现在我想得到最准确的值为3的记录 这是我的查询:
SELECT * FROM accounts where type like '%3%'
此查询将查找所有存在值为“3”的记录,例如:13,23 .... 它并没有解决我的问题。
试试这个:
SELECT *
FROM accounts
WHERE CONCAT(',', type, ',') LIKE '%,3,%';
这个技巧将逗号放在 type
CSV 字符串的末尾,这样我们所要做的就是检查该字符串中的任何位置的 ,3,
。
顺便说一句,通常不希望在您的 SQL 表中存储这样的 CSV 数据。相反,请考虑规范化您的数据并将这些 CSV 值存储在不同的行中。