是的,我知道這是一件可怕的事情要問和全文索引將解決我的所有問題,但它的運行上是不允許一個完整的Azure的V11 DB文本索引和升級目前不是一種選擇。SQL等,其中字符串可以以隨機的順序
我試圖做到的,是被送入一個搜索字符串,這對隨後一個字符串列作爲像匹配。但是,傳入的字符串可能以錯誤的順序出現。
舉個例子
SELECT value
FROM table
WHERE value like '%This% %Is% %A% %String%'
工作得很好,因爲搜索字符串是爲了,但什麼我有時傳遞是 '%此%%字符串%%是%%A%'
造成;導致;
SELECT value
FROM table
WHERE value like '%This% %String% %Is% %A%'
這將無法返回任何東西。當字符串可以以任何順序出現時,是否可以應用一個類似的字符串?
我發現其他SO帖子只是歸結爲使用全文索引,因此機會是我要麼做了一些愚蠢(超出嘗試這種沒有全文索引),或者這是不可能的。
如果任何人都可以提供一些幫助,我會很感激。
快速編輯,因爲我不認爲我有詳盡的解釋自己;
,因爲en例子中,我對匹配的數據(仍在使用「%此%%字符串%%是%%A%」作爲一個例子搜索參數)將是這樣的;
- 「這是一個字符串我想回到」
- 「這是一個十進制」
- 「這個整數是」
- 「這是一個十進制」
- 「這是串'
在這些示例中,我只想返回第一條記錄'這是我要返回的字符串',因此它與以下答案類似,只不過它需要使用AND和該輸入的長度會有所不同。例如,輸入可以是
- '%此%%字符串%%是%%A%'
- '%這%%是%% A%%字符串%'
- 「%此% %字符串%」(這將返回兩個記錄)
- '%此%%字符串%%A%'
感謝,
尼爾