我正在使用 SQL Server 2008。
我有一个带有 type 列的表VarChar
。它当前填充了实际代表数字的字符串。不幸的是,该列必须保留VarChar ('1', '2' ... , '1000' )
.
我希望查询该字段的最大数值,但由于这是一个VarChar
我得到的是词典最大值,而不是自然顺序最大值。
我想我会尝试通过使用来解决这个问题COLLATE
该查询的子句并更改为提供数字自然顺序的排序规则,如下所示link http://msdn.microsoft.com/en-us/library/ms184391.aspx
- SQL Server 2008 是否有这样的排序规则?如果有,查询应该是什么?
- 如果存在这样的排序规则,我应该使用此方法还是应该使用强制转换?
Thanks.
没有排序选项可以对数字执行自然排序。
但是,如果所有值都应为整数,则可以将该值转换为整数。
尝试类似的东西
SELECT MAX(CAST (Value as int))
FROM MyTable
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)