1
A
回答
3
沒有一個內置的,我知道,如果一個功能,但我發現這在MySQL的String Functions文檔的評論:
我一直在尋找在MySQL WORD_COUNT(「串」),最後想出了一個對我來說非常有用的用戶定義函數,注意:我用於實際空間。
DROP FUNCTION IF EXISTS word_count;
CREATE FUNCTION word_count (f_string text(5000)) RETURNS smallint(10)
BEGIN
DECLARE new_string text(5000);
WHILE INSTR(f_string,'<space><space>')>0
DO
SET new_string=(select REPLACE(f_string,'<space><space>','<space>'));
SET f_string=new_string;
END WHILE;
RETURN (select LENGTH(TRIM(f_string))-LENGTH(REPLACE(TRIM(f_string),'<space>',''))+1);
END
//
下面是結果
的MySQL>選擇word_count中( 「巴拉吉Devarajan」)WORD_COUNT;
+------------+
| WORD_COUNT |
+------------+
| 2 |
+------------+
1 row in set (0.00 sec)
的MySQL>選擇word_count中( 「巴拉吉Devarajan」)WORD_COUNT;
+------------+
| WORD_COUNT |
+------------+
| 2 |
+------------+
1 row in set (0.00 sec)
的MySQL>選擇word_count中( 「巴拉吉Devarajan」)WORD_COUNT;
+------------+
| WORD_COUNT |
+------------+
| 2 |
+------------+
1 row in set (0.01 sec)
1
沒有函數計算在MySQL(或ANSI SQL,或任何其他DBMS我熟悉)字樣。
你可以也許僞造它使用字符串計算在文本的空格數替換:
SELECT LENGTH(colname)-LENGTH(REPLACE(colname, ' ', ''))+1 AS wordcount FROM tablename;
這是不是一個真正的字計數,但只要每一個字分開會工作只有一個空間。
爲了得到更好的單詞匹配,你需要一個正則表達式,但是在MySQL中沒有正則表達式替換,所以你不能使用替換技巧。你可以使用REGEXP
/RLIKE
比賽雖然選擇特別是6個字的長值:
SELECT * FROM tablename WHERE colname RLIKE '^[^[:alnum:]]*[[:alnum:]]+([^[:alnum:]]+[[:alnum:]]+){5}[^[:alnum:]]*$';
無論哪種方式,這是緩慢的。每次執行查詢時,必須在表的每一行上執行字符串替換或正則表達式匹配。如果詞的數量是您經常進行的查詢,您需要通過添加(可能是索引的)列來存儲詞的數量來優化(denormalise)表。
相關問題
- 1. 如何知道UITextView中包含多少個單詞
- 2. 我如何知道python中的單詞有多少個單詞?
- 3. 查找包含MS詞中的單詞的段落
- 4. 如何知道對象字面量包含多少項?
- 5. 如何知道使用grep的文件中某個單詞有多少次?
- 6. Chrome段落單詞斷詞
- 7. MySQL更新單個字段中的多個段落
- 8. 如何在使用Doxygen的「備註」部分中包含多個段落?
- 9. R:知道列表中有多少個向量,包含一個值
- 10. 如何知道我的文字是多少行包一個DIV
- 11. 如何檢查CSV列中是否包含多個單詞?
- 12. 如何搜索ArrayList中包含多個單詞的字符串?
- 13. 刪除包含多個單詞的行
- 14. 如何知道如果一個字符串包含在Java中
- 15. 如何更新包含多個字段的mysql表中的單個字符
- 16. 如何知道用戶何時選擇一個段落?
- 17. Java如何查看一個String是否包含多個單詞?
- 18. 在Mysql中多行搜索多個單詞和單個詞php
- 19. 檢查一個字符串包含javascript中的多少個單詞
- 20. 如何在PHP中替換段落中的單詞?
- 21. 如何通過單擊右鍵單擊段落中的單詞?
- 22. 如何在段落中包含textarea中的換行符?
- 23. 批處理文件刪除段落,如果它包含某些單詞
- 24. 包含php的未知單詞
- 25. jQuery - 在段落中的每個單詞單獨的onClick事件
- 26. 如何將某個單詞與一個段落對齊?
- 27. 單個集合在mongoDb中可以包含多少個文檔?
- 28. 如何在php中找到段落長度相同的單詞?
- 29. 如何在Excel中包含多個單詞的單元格中查找大寫單詞?
- 30. 在使用python的excel中,如何從包含多個單詞的單元格的整列中找到單詞?
FWIW,這隻適用於我,如果我改變分隔符。因此,要使其工作,請在「CREATE FUNCTION ...」之前添加「DELIMITER $$」行 – Dan 2010-08-19 19:24:31