java - MySql - 如何查询多个 boolean 列?

标签 java mysql sql mysql-workbench

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

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

有什么办法可以做得更好吗?

非常感谢

最佳答案

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

关于java - MySql - 如何查询多个 boolean 列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31562032/

相关文章:

sql - 在 Oracle SQL 查询的结果中包含列名?

mysql - 将一个奇怪的 Mysql 查询更改为使用 group_concat 的 Postgresql

php - 添加或更新 MySQL 记录而不总是更新 date_modified 列

php - joomla 3x 将字符串插入sql数据库

sql - 将嵌套解码转换为等效的 CASE 语句(从 Oracle 转换到 PostgreSQL 需要)

java - 从多合一 jar 中附加 java 代理

java - 从套接字读取时获取空字符串

java - 所有作业完成后 Spring Batch 触发流程

java - 为 Tomcat 配置 SSL 的步骤是什么?

sql - 如何从 SQL Server 中的 try/catch 子句中获取内部错误