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