java - 如果设置了标志,则 JDBC (My)SQL 仅获取单元格数据

标签 java mysql sql jdbc

我得到了一个包含大量内容的表格和一个带有标志的列。有时我想加载所有内容,有时我不想加载 - 为了简化这个问题,我想仅根据标志加载内容。

有没有办法根据标志状态加载内容?

将表格想象成这样:

+--+--------------+-----+
|id|content       |flag |
+--+--------------+-----+
| 0| lots of text |false|
| 1| lots of text |false|
| 2| lots of text | true|
+--+--------------+-----+

我希望我的结果集像这样填充:

+--+--------------+-----+
|id|content       |flag |
+--+--------------+-----+
| 0| NULL         |false| <- only content null, otherwise full row
| 1| NULL         |false| <- only content null, otherwise full row
| 2| lots of text | true|
+--+--------------+-----+

SQL 查询是什么样的?这可能吗?

最佳答案

您可以使用其他人提到的 WHEREIF function ,例如:

SELECT t.id, IF(t.flag, t.content, NULL), t.flag from table t

关于java - 如果设置了标志,则 JDBC (My)SQL 仅获取单元格数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40494199/

相关文章:

java - 如何使 ImageView 缩放以为其下方的控件留出空间?

php - 使用 PHP 和 MySQL 登录 Android

MySQL连接两个列表检查一条记录是否存在

sql - Postgresql 串行每日记录计数

SQL日期格式从INT(yyyymmdd)类型转换为date(mm/dd/yyyy)

来自下载链接的 Javafx 图像

java - 使用 Java-JDBC 从 Oracle 数据库读取数据时的字符编码

java - 在 myBatis <association> 中传递多个列

php - 如何添加 $id = $_GET ['student_id' ];并显示所有相同的id

mysql - 在 where 子句中使用日期范围作为列名