我正在尋找一種在文本(blob)列上使用通配符搜索的有效方法。
我看到它在內部存儲爲字節... 數據量將受到限制,但不幸的是我的供應商已決定使用這種愚蠢的數據類型。如果有一個簡單的系統側功能來修改它,我還會考慮將所有內容都移動到臨時表中 - 不幸的是像rpad這樣的東西不起作用...
通過使用select部分中的列,我可以正確地看到文本值或者通過Perl的DBI模塊讀取數據時。Informix SQL文本Blob通配符搜索
1
A
回答
4
不幸的是,您被卡住了 - 您可以在TEXT或BYTE blob上執行的操作非常少。特別是,所有這些工作:
+ create table t (t text in table);
+ select t from t where t[1,3] = "abc";
SQL -615: Blobs are not allowed in this expression.
+ select t from t where t like "%abc%";
SQL -219: Wildcard matching may not be used with non-character types.
+ select t from t where t matches "*abc*";
SQL -219: Wildcard matching may not be used with non-character types.
根據IDS的版本,你可能有BTS選項 - 基本文本搜索(需要IDS V11),或與其他文本搜索數據刀片。另一方面,如果數據已經存在於數據庫中,並且無法進行類型轉換,那麼您可能會被迫提取blob並在客戶端搜索它們,效率較低。如果您必須這樣做,請確保您儘可能多地過濾其他條件,以儘量減少所需的流量。
您可能還會注意到,DBD :: Informix必須通過一些詭計才能使Blob看起來像工作 - 它不應該,非常坦率地說,必須通過的陰謀。到目前爲止,在十年的嘗試中,我沒有說服人們這些事情需要解決。
相關問題
- 1. 通配符PHP文本搜索
- 2. oracle blob文本搜索
- 3. 帶有通配符的SQL文本搜索
- 4. 使用通配符SQL中的文本字段搜索詞
- 5. 通配符搜索
- 6. 通配符搜索
- 7. 通配符搜索
- 8. 通配符搜索
- 9. SQL通配符搜索 - 效率?
- 10. SQL - 通配符搜索與AND
- 11. SQL通配符搜索問題
- 12. SQL Server的全文索引通配符搜索
- 13. Azure在blob上搜索在搜索後檢索到blob本身
- 14. ngram通配符搜索彈性搜索
- 15. 彈性搜索通配符搜索
- 16. 如何通過加密文本執行通配符搜索?
- 17. WScript中的通配符文件搜索
- 18. SQLite的全文通配符搜索
- 19. Django - 全文搜索 - 通配符
- 20. MySQL的全文搜索帶通配符
- 21. 帶通配符的全文搜索
- 22. 字符串搜索/通配符匹配
- 23. Gsutil通配符搜索
- 24. 搜索使用通配符
- 25. C#MySqlParameter通配符搜索
- 26. 通配符搜索w/MySQL
- 27. C#DirectoryInfo.GetFiles通配符搜索
- 28. Xpath通配符搜索
- 29. 搜索與通配符
- 30. CRM Dynamics搜索通配符
我決定將數據移動到第二個表中,將BLOB轉換爲vchar格式並將結果存儲到單獨的列中。謝謝你的幫助。 – weismat 2009-11-17 06:59:11