SQL MAX对字符类型的列

SQL MAX可以对数字列或者字符列进行运算。

 

但是有一种MAX对字符列的特殊情况一定要注意。

比如Key 列是字符列,现在有数据1,2,3,4,5....9

现在要在前面的基础上加上1,得到下一个Key值

 

一般的方法是如下

DECLARE @next_key int
SELECT @next_key = MAX(CustomSort) from Persons

print @next_key +1

 

 上面的这段代码永远返回10,导致next_key不能自增加。

 

 DECLARE @next_key int 

SELECT @next_key=MAX(Cast(CustomSort as int)) from Persons

print @next_key +1

 

 上面的方法通过转换CustomSort为int这样来实现key自动增长 

posted @ 2012-08-05 18:31  richardzeng  阅读(3964)  评论(0编辑  收藏  举报