我的SQL表中有15个布尔列。 我想以有效的方式查询,并使用:
"bool1 = bool1Val AND bool2=bool2Val AND bool3=bool3Val....."
有没有办法做得更好?
非常感谢
答案 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;
}