1


以下を含むことができるテーブルフィールドeventsがあります。

  • 数列のみ。例:45
  • または記号 で割った数列、|たとえば55|65|76

を使用する必要があると思いますがLIKE、方法がわかりません。手伝って頂けますか?

ありがとう

4

2 に答える 2

4

フィールドの前後にCONCATパイプを追加してから、検索を使用することをお勧めします。このようなもの:|LIKE

SELECT *
FROM YourTable 
WHERE concat('|',field,'|') like '%|45|%'

ただし、データを正規化することを強くお勧めします。これらを別々の行に格納することを検討すると、検索/保守がはるかに簡単になります。

于 2013-05-27T15:05:58.263 に答える
0

クエリを修正するには、次を使用します。

Select * from tbl where events='45' or events like '%|45' or events like '%|45|%' or   
events like '45|%'

しかし、これは非常に遅く、使用すべきではありません。

代わりに、Marc B が述べているように行い、子テーブルを作成しますevents (ID, event)

于 2013-05-27T15:00:38.523 に答える