如果在SQL调用中找不到任何内容,我需要返回一个值(0)。
这就是我所拥有的(编辑/简化以使其更具意义),这是从代码隐藏中调用的。
sql1 = "INSERT INTO [Xtr_MenuItems]([menu_order])
values(1 + (select max(menu_order) from [Xtr_MenuItems]))
SO进入数据库我插入[menu_order] + 1中找到的最大数字。这样可以正常工作,假设找到了一些东西。
但是,如果(select max(menu_order) from [Xtr_MenuItems]))
失败(找不到任何内容),那么我想返回0(因为1 +没有=什么都没有,并且sql爆炸)
我该怎么做?我尝试过各种各样的'IF EXISTS','OUTPUT',但是无法让它工作......
答案 0 :(得分:2)
试试这个:
sql1 = "INSERT INTO [Xtr_MenuItems]([menu_order])
values(1 + ISNULL((select max(menu_order) from [Xtr_MenuItems]),0))
我使用了ISNULL函数,如果查询结果为null,则返回0
答案 1 :(得分:1)
而不是values
,您可以立即使用select
:
insert Xtr_MenuItems
(menu_order)
select 1 + isnull(max(menu_order),0)
from Xtr_MenuItems
答案 2 :(得分:0)