此for循环从SQL表中提取max int值,加1,然后将其设置为等于名为" Num"的变量。
如何修改for循环,以便在名为" Number"的SQL列中找不到值(或空条目)时,它会设置变量Num == 1
?
for /f "delims= " %%a in
('sqlcmd -S SERVER -d DATABASE-Q "SET NOCOUNT ON;
select max(Number)+1 from TABLE"') do set Num=%%a
答案 0 :(得分:2)
您可以从SQL语句执行此操作。您正在寻找的是COALESCE
。
来自manual
按顺序计算参数,并返回最初未计算为NULL的第一个表达式的当前值。
你的案例的语法是
select coalesce(max(Number)+1, 1) FROM TABLE
答案 1 :(得分:0)
Select max(isnull (number,0))+1 from table
被修改