SQL Where子句条件

ner*_*mik 3 c# sql where where-clause

在sql where子句中; 如果pv.SalePrice是的话null,我想用pv.Price.我怎样才能做到这一点?

WHERE    
    @FilterRangePriceValueMin < pv.SalePrice OR pv.SalePrice is null
     AND (@FilterRangePriceValueMax > pv.SalePrice OR pv.SalePrice is null)
Run Code Online (Sandbox Code Playgroud)

das*_*ght 11

您可以使用该COALESCE函数NULL按顺序尝试项目,然后使用第一个非空的项目进行比较.您还可以使用BETWEEN以避免两次写出呼叫:

WHERE
    COALESCE(pv.SalePrice, pv.Price)
    BETWEEN @FilterRangePriceValueMin AND @FilterRangePriceValueMax
Run Code Online (Sandbox Code Playgroud)