0
我正在嘗試對日本字典DB進行查詢,我創建的數據庫標識了像ニコニコ(niko niko),ピカピカ(pika pika)等字樣的重複單詞。雖然我知道如何做LIKE %%
查詢,但我不確定如何讓它定義一個部分的模式,並看看其他部分是否匹配。確定圖案是否在文本字段中重複出現的SQL查詢
參數:
- 所有我正在尋找的話是長4個雙字節字符
- 格局由前兩個字符,圖案B由最後兩個
- 的查詢正在上是相當簡單構造一個
headwords
表上運行:它有兩個字段,id
和headword
- 整理桌子上被設置爲
utf8_bin
- 我們想過濾只搜索長度爲4個字符的詞條,然後識別模式A並查看模式B是否相同。如果是這樣,請返回
id
。
獎勵:如果有一種方式來運行搜索直utf8
,而不是utf8_bin
,這將是撿了一些額外的匹配(例如つれづれtsure杜熱)有幫助。詞目列上有一個UNIQUE
索引,並且需要utf8_bin
排序才能正常執行正常操作的索引。
數據&結果實施例
每草莓的建議添加
id | headword ============= 1 | たべる 2 | あらわれる 3 | ばかばかしい 4 | ニコニコ 5 | じゅんびする 6 | ぴかぴか 7 | する 8 | つれづれ 9 | ひとびと 10 | ひと
期望的結果將返回id
小號4
和6
;最佳結果也將返回8
和9
。
1
是由1個字符過短,與模式A(たべ
)不匹配模式B(る
)2
太長由1個字符,與模式A(あら
)不匹配模式B (われ
)。同上,用於5
3
具有用於模式A和B(ばか
)匹配,但是它太長在6個字符7
和10
由2個字符太短。雖然有一個可能的模式A(例如ひと
在10
出現在9
ひとびと
),它不是足夠長,以提供一個圖案B來比較
這是不是真的有什麼SQL是爲。 –
我已經做了PHP在過去相似,但暴力破解它可以採取的處理時間固體天爲多的行,我在表中已經有了,因此爲什麼我希望有一種方法可以做到這一切在MySQL方面,也許... – Kaji
所有的模式是兩個假名嗎? – Strawberry