我的一些行中有一些不正确的数据,因此我无法准确搜索。
我的category_name列下有值,如下所示:
category_name
interior--
exterior
interior
由于某些类别名称末尾的--
,我无法获得特定类别的确切数量
我正在使用以下查询
select count(id) from designs where category_name='interior'
如何在where子句
中匹配时忽略--
答案 0 :(得分:2)
Trim使用TRIM()函数从值开始--
,如下所示:
SELECT count(id) FROM designs WHERE TRIM(TRAILING '--' FROM category_name)='interior'
答案 1 :(得分:0)
或者您可以使用LIKE仅搜索内部。我想你需要这样做。
select count(id) from designs where category_name LIKE 'interior'
希望这能解决您的问题
答案 2 :(得分:0)
要在字段中的任何位置找到字符串“ - ”并删除前导和尾随空格,这将起作用:
SELECT count(id) FROM designs WHERE TRIM(REPLACE(category_name, '--', ''))='interior'
答案 3 :(得分:0)
假设你有category_name的索引,这比将函数应用于每一行要有效得多,因为它可以使用索引:
SELECT COUNT(id) FROM designs WHERE category_name IN ('interior', 'interior--')