2017-08-01 103 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”函数。但是,如果它是字母表,那么您将需要一个用户定义的函数。 –