动态SQL语句是指数据集的查询语句,就是根据用户是否输入作为查询条件的参数值,动态生成SQL语句。
例如:
在对一个销售订单数据表【Demo_销售明细】查询时,如果用户没有输入查询条件,SQL语句是这样:
select * from Demo_销售明细
如果用户输入了【销售大区】这个过滤条件,SQL语句就要变成这样:
select * from Demo_销售明细 where 销售大区=@大区参数
参数有字符串型:大区、日期型:开始时间、结束时间,那OR子句该如何实现?查询语句:
select * from 销售明细 where (销售大区 like concat('%',@大区,'%') or @大区='') and (创建时间 >= @开始时间 or @开始时间 = null) and (创建时间 <= @结束时间 or @结束时间 = null)