Tsql SQL检查where语句中某列的值是否为null,如果为null,则将其设置为某个值
我有一个SQL查询Tsql SQL检查where语句中某列的值是否为null,如果为null,则将其设置为某个值,tsql,sql-server-2008-r2,where,isnull,Tsql,Sql Server 2008 R2,Where,Isnull,我有一个SQL查询 SELECT * FROM ##tempt WHERE ( minstock <= 0 AND numitems - backorder - cstock >= 1 ) OR ( minstock >= 1 AND numitems - backorder + minstock - cstock >= 1 ) 如何检查minstock的值是否为null,如果为null,则将
SELECT *
FROM ##tempt
WHERE ( minstock <= 0
AND numitems - backorder - cstock >= 1 )
OR ( minstock >= 1
AND numitems - backorder + minstock - cstock >= 1 )
如何检查minstock的值是否为null,如果为null,则将其设置为某个数字?您可以使用isnullminstock,0-如果minstok为null,则返回0。
您还可以对两个以上的值使用coalesceminstock,other_field,0您不能在同一SQL查询中使用update更新列,但如果数据库中给定行的特定列的值为NULL,则可以使用ISNULL函数使用另一个值,如下所示:
SELECT *
FROM ##tempt
WHERE ( ISNULL(minstock, 0) <= 0
AND numitems - backorder - cstock >= 1 )
OR ( minstock >= 1
AND numitems - backorder + minstock - cstock >= 1 )
可以尝试使用ISNULLminstock、0或其他东西吗?
SELECT *
FROM ##tempt
WHERE ( ISNULL(minstock,0)<= 0
AND numitems - backorder - cstock >= 1 )
OR ( ISNULL(minstock,0)>= 1
AND numitems - backorder + ISNULL(minstock,0)- cstock >= 1 )