SQL:如果它的nvarchar格式包含特殊字符,则查找最大数字

时间:2013-11-07 02:26:58

标签: sql sql-server

我需要拉出包含最高值的记录,特别是我只需要该字段的值。问题是列是nvarchar格式,包含数字和特殊字符的混合。以下只是一个例子:

PK      | Column 2 (nvarchar)
-------------------
1       | .1.1.
2       | .10.1.1
3       | .5.1.7
4       | .4.1.
9       | .10.1.2
15      | .5.1.4

基本上,由于自然排序,第2列中的项目按字符串排序。因此,不是将包含“.10.1.2”的行的PK返回为最高值,而是获取包含“.5.1.7”的行的PK。

我试图写一些函数来做到这一点,但看起来我写的东西看起来比它应该更复杂。任何人都有简单或复杂的功能是唯一的方法吗?

我想说清楚我正在尝试获取包含最高Column 2值的记录的PK。

1 个答案:

答案 0 :(得分:2)

此查询可能会返回您想要的内容

SELECT MAX(CAST(REPLACE(Column2, '.', '') as INT)) FROM table