来自varchar的最大值

时间:2014-11-04 08:14:04

标签: mysql

我在varchar格式的数据库中有一列,但内容只是数字。 我不能将列更改为int格式,并且需要使用varchar格式。

如何才能找到最高数字?

Category
-------
1
2
3
4
5
6
7
8
9
10
11
12

如果我使用这个

SELECT * FROM [Navision4].[dbo].[" & strCompany & "$eShopCategory] 
ORDER BY Category desc

它是我的输出10,但我希望输出为12。

2 个答案:

答案 0 :(得分:0)

如果您在执行排序时将CAST类别列添加到INT该怎么办?

SELECT * 
FROM [Navision4].[dbo].[" & strCompany & "$eShopCategory] 
ORDER BY CAST(Category AS INT) desc

您也可以使用MAX()

上的Category功能
SELECT MAX(CAST(Category AS INT))
FROM [Navision4].[dbo].[" & strCompany & "$eShopCategory]

答案 1 :(得分:0)

select category from mytable 
order by length(category) desc, category desc 
limit 1

(如果DB实际上是SQL Server,则为len(catgegory)