SQL 多条件,任意选择 查询方法
发布网友
发布时间:2022-04-08 20:13
我来回答
共3个回答
热心网友
时间:2022-04-08 21:42
实例 public java.util.List<Operator> selectOperatorsConditions(
HashMap<String, String> conditions, Connection conn) {
// 根据条件进行查询操作员信息
java.util.List<Operator> operatorsByCondition = new ArrayList<Operator>(); StringBuffer sql = new StringBuffer(
"select operator_id,operator_name,is_admin from t_operator"); if (conditions.size() > 0) {
sql.append(" where ");
Iterator<String> keyset = conditions.keySet().iterator();
while (keyset.hasNext()) {
String cols = (String) keyset.next();
sql.append(cols + " = '" + conditions.get(cols) + "' and ");
}
sql.delete(sql.lastIndexOf("and"), sql.length());
}
Statement st = null;
ResultSet rs = null;
try {
if (conn != null) {
st = conn.createStatement();
rs = st.executeQuery(sql.toString()); while (rs.next()) {
Operator operator = new Operator(rs.getString(1), rs
.getString(2), rs.getString(3));
operatorsByCondition.add(operator);
}
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return operatorsByCondition;
}
热心网友
时间:2022-04-08 23:00
sql="select * from test where 1=1"sqllike=""if a<>"" then
sqllike=sqllike & "a的条件"end if if b<>"" thensqllike=sqllike & "b的条件"end if同理写其他几个最后sql=sql & sqllike
热心网友
时间:2022-04-09 00:35
我这个弄成了个存储过程,如果你不需要,你可以吧中间的查询语句提出来 /******************************************************************
--
--action:根据查询条件查询符合条件的员工信息
--author:默
--create-date:2009-3-12
--parameter:@name 员工名称
--parameter:@did 部门编号
--parameter:@work 职位
--parameter:@rid 角色编号
--
*************************************************************************/
CREATE PROCEDURE employees_select_SQL_proc
@name nvarchar(20),
@did nvarchar(3),
@work nvarchar(10),
@rid nvarchar(3)
AS
DECLARE @sql nvarchar(1000)
SET @sql='SELECT * FROM employees WHERE 1=1'
IF(@name IS NOT NULL)
BEGIN
IF( len(@name)>0)
BEGIN
SET @sql=@sql+' AND E_name LIKE ''%'+@name+'%'''
END
END
IF(@did IS NOT NULL)
BEGIN
IF (@did>0)
BEGIN
SET @sql=@sql+' AND E_Did ='+@did
END
END
IF(@work IS NOT NULL)
BEGIN
IF (len(@work)>0)
BEGIN
SET @sql=@sql+' AND E_work LIKE ''%'+@work+'%'''
END
END
IF(@rid IS NOT NULL)
BEGIN
IF(@rid >0)
BEGIN
SET @sql=@sql+' AND E_Rid ='+@rid
END
END
SET @sql=@sql+'ORDER BY E_datetime DESC'
EXEC(@sql) GO
SQL多条件查询,任意选择 查询方法、这样写不行吗?
where条件里面 如果要用if判断的话,可以声明一个变量,通过字符串相加来实现。sql = select ... from ... where if @CreateDate =' 'sql = @sql + '...'else if 条件 sql = @sql +' 'excute(@sql)
SQL多条件查询几种实现方法详细介绍
以后我们做多条件查询,一种是排列结合,另一种是动态拼接SQL 如:我们要有两个条件,一个日期@addDate,一个是@name 第一种写法是 if (@addDate is not null) and (@name <> '')select * from table where addDate = @addDate and name = @nameelse if (@addDate is not null) and (@...
sql中多条件进行查询,查询语句该怎么写?
1、首先我们打开电脑里的SQL打开一个数据库。2、然后我们点击界面上方菜单栏里的表选项打开数据库的一张表进行查询。3、然后我们选择表右上角的加号键。4、然后我们在编辑器中输入如图所示代码进行数据查询。5、然后我们点击运行查看运行结果。6、多条件查询最终结果如图所示我们可以看到多条件查询语句成功。
sql查询满足任意几个条件的查询方法
用or连接 select * from table where a='' or b='' or a=''组合条件 select * from table where (a='' and b='') or (a='' and b='')
sql 多条件查询语句并且能选择最后一条记录
select top 1 from table where (字段1=A1) and (字段2=B2) and (字段3=C3) and (字段4=D5) order by id desc
在SQL语句中如何实现多条件查询?
select*,max(create_time)froma wherecreate_time<="2017-03-2919:30:36"groupbyuser_id 这句可以理解为将结果集根据user_id分组,每组取time最大一条记录。这样就很好的实现了批量查询最近记录,并且仅仅需要遍历一次表,即使在数据量巨大的情况下也可以在很短的时间查出结果。
sql中怎样进行多条件查询?
假设数据列为:A、B、C、D、E、F、G 纵向汇总语句:select sum(A),sum(B),sum(C),sum(D),sum(E),sum(F),sum(G) from 表名 横向汇总的SQL语句是: select A,B,C,D,E,F,G,A+B+C+D+E+F+G from 表名 求所有数据总和的SQL语句是:select sum(A)+sum(B)+sum(C)+sum(D)...
java中如何处理多条件的sql查询语句
一般多个条件的时候,处理方式是 select * from table where 1 = 1先写上这样一个条件,这样你以后的条件就可以直接用 if判断了,比如现在有A ,B 两个条件 就可以直接这样 String sql = "select * from table where 1 = 1";if( 条件A != null ){ sql += " and A =" + 条件A;...
关于SQL多条件查询
' and c='+@c set @str = 'select * from table '+@where exec(@str)搞定 --- 确实没明白你的意思,如果说是想用简单的方法,我写的这个可以说很简单了,如果有4个参数就写4个判断,10个参数就10个判断,比你的代码少很多,你可以试下。
SQL 查询多条符合条件的记录
select * from table where column_a in (select 条件N from table where XXX )总之你的多个“条件”如果能用select出来的话,把结果放到in里就可以了。