MySql -如何查询多个布尔列



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

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

有没有办法做得更好?

Thanks to lot

您可以将这些列组合成一个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; 
    } 

最新更新