2

一部の行に不適切なデータが含まれているため、正確に検索できません。

以下のようなcategory_name列の下に値があります。

category_name

interior--
exterior
interior

--一部のカテゴリ名の最後にあるため、特定のカテゴリの正確な数を取得できません

私は以下のクエリを使用しています

select count(id) from designs where category_name='interior'

--where句で照合中 に無視する方法

4

4 に答える 4

2

--以下のように TRIM() 関数を使用して値の末尾をトリミングします。

SELECT count(id) FROM designs WHERE TRIM(TRAILING '--' FROM category_name)='interior'
于 2012-04-14T02:44:52.073 に答える
0

フィールド内の任意の場所で文字列「-」を検索し、先頭と末尾の空白を削除するには、次のように機能します。

SELECT count(id) FROM designs WHERE TRIM(REPLACE(category_name, '--', ''))='interior'
于 2012-04-14T03:29:29.543 に答える
0

または、LIKE を使用して内部のみを検索することもできます。そうする必要があると思います。

select count(id) from designs where category_name LIKE 'interior'

これで問題が解決することを願っています

于 2012-04-14T02:49:28.830 に答える
0

カテゴリ名にインデックスがあると仮定すると、インデックスを利用できるため、すべての行に関数を適用するよりもはるかに効率的です。

SELECT COUNT(id) FROM designs WHERE category_name IN ('interior', 'interior--')
于 2012-04-14T03:36:01.820 に答える