需要一个返回maximal or minimum
VARCHAR
值的查询。比较为unsigned int
,非int的值不会简单地考虑在内。
例如,
1
2
3
gggg123
435
500000.123
答案:maximum - 435, minimum - 1
NULL
fff
1
- 56
答案:maximum - 1, minimum - 1
答案 0 :(得分:1)
由于您只需要正整数,您需要使用正数表示正数来提取列值,然后从中找到最大值
Select MAX(Cast(columnName) as UNSIGNED)
From tableName
Where columnName REGEXP '^[0-9]+$'
修改强>
正如Alma Do指出的那样,Mysql中不存在CAST到INT,而是它的等价物是UNSIGNED。
无论如何都不需要施放..
Select MAX(columnName),MIN(columnName)
From tableName
Where columnName REGEXP '^[0-9]+$'