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
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自动增长