2017-08-01 101 views
0

這個問題是關於MySQL。我想獲得最小和最大範圍的唯一字符值。我認爲這可以通過一個例子更好地解釋。 示例 - 表格的列是用戶名,如abc123輸出應該是3,12de:-o/p-> 2,erogan44e:o/p-> 7等。 我希望只選擇最小值到最大值之間的字符長度。MySQL - 如何通過字符範圍(最小到最大)選擇數據

是否可以不使用程序? 我們應該使用正則表達式嗎?

+0

你想要計算字母的數量嗎? –

+0

@ Hamza Abdaoui:是的 – ritwik

回答

1

要計算字母的數量在String,首先需要有一個空的空間,以取代所有非字母字符,然後計算長度,例如:

SELECT LENGTH(REGEXP_REPLACE(column_name, '^[A-Za-z]', '')) AS value 
FROM table 
ORDER BY value DESC; 

這種方法的問題是,MySQL沒有REGEXP_REPLACE函數(不像MariaDB)。所以,你必須爲此編寫你自己的函數,看看this的例子。

+0

@ Darshan Mehta:謝謝你的回答。 – ritwik

+0

如果我計算字符串中的數字,那麼我應該使用相同的方式?否則,你有任何替代方法? – ritwik

+0

是的,它會是一樣的。如果您只想計算字符(即不是字母和/或數字),那麼您可以立即使用「LENGTH」函數。但是,如果它是字母表,那麼您將需要一個用戶定義的函數。 –