首页 > 解决方案 > Sybase 搜索查询

问题描述

我正在研究一个 Sybase 存储过程,它采用 4 个可为空的输入参数,并从表中获取数据。

@name varchar(20) = null
@city varchar(20) = null
@deparment varchar(30) = null
@depCode varchar(10) = null

询问

select * from company
where
(UPPER(name) like UPPER('%' @name '%') OR @name is NULL) AND
(UPPER(city) like UPPER('%' @city '%') OR @city is NULL) AND
UPPER(deparment) LIKE
CASE WHEN @deparment IS NOT NULL AND @depCode is NOT NULL
THEN UPPER('%' @deparment '%') END AND
UPPER(depCode) LIKE
CASE WHEN @deparment IS NOT NULL AND @depCode is NOT NULL
THEN UPPER('%' @depCode '%') END

CASE 语句不能正常工作。如果我评论两个案例语句并传递输入值或不为名称和城市查询工作正常。@deparment 和 @depCode 相互依赖。

我的要求——

标签: sqlsybase

解决方案


推荐阅读