2012-01-19 58 views
1

我想根據特定列中字符串的長度來查詢mysql中的表。我知道mysql有一個名爲LENGTH()的函數,但是它返回字符串的長度。我希望能夠根據LENGTH()函數的結果來提取數據。基於列中字符串長度的mysql查詢

例子:

SELECT * table WHERE LENGTH(word) = 6 

當然不工作的。我通過http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function%5Flength閱讀,但找不到任何東西來幫助我。

是的我可以在PhP中做一些事情來完成這個任務,但是我想在查詢層面做到這一點。

任何幫助?

回答

4

嘗試:

SELECT * 
    FROM table 
    WHERE LENGTH(RTRIM(word)) = 6 
+1

我建議使用'CHAR_LENGTH()'函數而不是'LENGTH()',這樣你就可以計算字符而不是字節。 –

+0

工作完美,ultimatly我做了一個查詢語句,將基於「字符串長度」,「可能的字符」,而不是「包括字符」的結果在單詞中。到目前爲止我已經有了前兩名 – user1130861

0

我相信你想使用的查詢SELECT * FROM tableName WHERE LENGTH(word) = 6;(假設word是列名tableName)。

這是非常不幸的解決方案,在大型表格上,您應該創建新列並使用UPDATE tableName SET wordLength = LENGTH(word)