ここでテーブル検索行
*City Crime*
Bangkok High
Hongkong Very High
Seoul Low, Average
Texas Average, High
Jakarta Low
Singapore Very Low
Las Vegas Average, Low
どのように私は、preg_splitを使用しますが、私はデータベース
ここでテーブル検索行
*City Crime*
Bangkok High
Hongkong Very High
Seoul Low, Average
Texas Average, High
Jakarta Low
Singapore Very Low
Las Vegas Average, Low
どのように私は、preg_splitを使用しますが、私はデータベース
使用インクルードと一致するのか分からない 犯罪「Low」に検索するためのSQLだですあなたはケース非感受性が必要な場合は、低に列を変換するためにLOWER(crime)
を使用
SELECT *
FROM cities
WHERE crime LIKE '%Low%'
:文字列の部分一致のために選択するLIKE
マッチャーercase。
このクエリは、列の値が「非常に低い」データも返します。 OPには、「Low」のデータのみが必要です。 –
ああ、質問に基づいているかどうかは分かりませんでした。その場合は単純なAND結合で十分です。 –
select *
from table
where
`crime` like '%Low%'
and `crime` not like '%Very Low%';
お試しください。
のMySQL:
SELECT *
FROM City
WHERE `Crime` REGEXP '^Low' or `Crime` REGEXP ', Low'
or `Crime` REGEXP 'Low,'
SQL:
select * from City
where (Crime like 'low%' or Crime like '%, low%' or Crime like '%low,%')
あなたは、レコードいくつかの基準がWHERE
で満たされを選択します。
select * from mytable where crime = 'Low';
テーブルに、犯罪文字列に「低」部分文字列が含まれているエントリがさらにあります。例えば。 「Low、Average」、「Average、Low」の3つがあります。私はもちろん、これらの正確な意味を知らない。どちらも同じ意味ですか?彼らは犯罪が「avarage」に低いことを意味しますか?それとも、「低」か「平均」かどうかは未定ですか?そして、あなたはこれを「低」と数えますか、それとも「低」より上のレベルでしょうか?
「非常に低い」というエントリがあります。あなたはこれを「低い」レベルかそれ以上のレベルと考えますか?例えば、
select * from mytable where crime like '%Low%';
またはいくつかのより高度な文字列検索を使用します。
の回答によっては、すべて「低」のサブストリングに一致するように、クエリの上に拡張することができ
select * from mytable
where ',' || replace(replace(crime, ', ', ','), ' ,', ',') || ',' like '%,Low,%';
「低」、「平均」および「平均、低」を取得しますが、「非常に低」を取得しません。
これを試してください。 「%Low%」のような「犯罪」と「%Very Low%」のようなものではない犯罪を選択します。 –