Java MySql-如何查询多个布尔列?

Java MySql-如何查询多个布尔列?,java,mysql,sql,mysql-workbench,Java,Mysql,Sql,Mysql Workbench,我的SQL表中有15个布尔列。 我希望以高效的方式进行查询,而不必使用: "bool1 = bool1Val AND bool2=bool2Val AND bool3=bool3Val....." 有没有办法做得更好 非常感谢您可以将这些列组合成一个0和1的字符串列,并在单个查询中读取它们,如0011表示false-true 有一个字符16来存储这个。(只是数据库优化) 您的列的类型是什么?高效是指查询更容易键入?否则我看不出有什么低效的。你是什么意思?它是布尔值-真或假。现在我注意到在DB中

我的SQL表中有15个布尔列。 我希望以高效的方式进行查询,而不必使用:

"bool1 = bool1Val AND bool2=bool2Val AND bool3=bool3Val....."
有没有办法做得更好


非常感谢

您可以将这些列组合成一个0和1的字符串列,并在单个查询中读取它们,如0011表示false-true

有一个字符16来存储这个。(只是数据库优化)


您的列的类型是什么?高效是指查询更容易键入?否则我看不出有什么低效的。你是什么意思?它是布尔值-真或假。现在我注意到在DB中它被保存为0或1yes-我想知道我是否可以避免写15次和x=x1..好吧,你可以将它们打包到一个集合列中,并使用
WHERE new\u col='bool2,bool3,bool5'
。如果你在这里放一些更有用的示例代码,那就太好了:)String selectTableSQL=“SELECT USER\u FLAGS from DBUSER”;语句Statement=dbConnection.createStatement();ResultSet rs=statement.executeQuery(selectTableSQL);虽然(rs.next()){String userFlags=rs.getString(“USER_FLAGS”);boolean isUserEnabled=userFlags.charAt(0)==1?true:false;}多亏了tinka,你是如何让代码看起来像那样的?只需放置代码并选择代码,然后按ctrl+K
    // courtesy @amitmahajan comment
    String selectTableSQL = "SELECT USER_FLAGS from DBUSER"; 
    Statement statement = dbConnection.createStatement(); 
    ResultSet rs = statement.executeQuery(selectTableSQL); 
    while (rs.next()) 
    { 
    String userFlags = rs.getString("USER_FLAGS”); 
    boolean isUserEnabled = userFlags.charAt(0)==1?true:false; 
    }