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自動增長