如何使用 like 命令获取两个日期之间的数据



在我的表中,我有 3 列,例如日期、名称、客户端 ID 和 tese 数据类型分别是日期、瓦尔查尔(50(、瓦尔查尔(50(。 我想用"从日期","到日期","名称",客户端 ID 搜索记录,当我编写过程时

create procedure credits_search
(
    @date1 date,@date2 date,@client_id varchar(50),@name varchar(50)
)
as
begin
select * from credits where date like between @date1 and @date2 or client_id like @client_id or name like @name
end

但是我收到错误请帮助我

使用以下查询

从日期介于 @date1 和 @date2 之间的配额或client_id(如"%"+ @client_id(或名称(如"%"+ @name(中选择 *

以下方法应该有效:

CREATE PROCEDURE credits_search
@dateFrom DATE,
@dateTo DATE,
@client_id varchar(50),
@name varchar(50)
AS
SELECT
    *
FROM
    credits
WHERE
    date BETWEEN @dateFrom AND @dateTo OR
    client_id LIKE '%' + @client_id + '%' OR
    name LIKE '%' + @name + '%'

我怀疑您正在通过日期时间传递到查询,而不仅仅是日期。因此,将参数的数据类型更改为日期时间。

@dateFrom DATETIME,
@dateTo DATETIME,

最新更新