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

时间:2015-07-22 11:38:55

标签: java mysql sql mysql-workbench

我的SQL表中有15个布尔列。 我想以有效的方式查询,并使用:

"bool1 = bool1Val AND bool2=bool2Val AND bool3=bool3Val....."

有没有办法做得更好?

非常感谢

1 个答案:

答案 0 :(得分:1)

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

有一个char 16来存储它。 (只是数据库优化)

    // 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; 
    }