我在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。
答案 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)
)