java - SQL 请求 - 具有多个空值的 SELECT

标签 java mysql sql select request

我有一个包含多个列的数据库。现在我有一个 Java 程序,我可以在其中搜索数据库中的不同行。但是我需要 SQL SELECT 请求的帮助。 我有一些 texfields 和一些复选框。现在我想如果文本字段为空,或者在其中一个复选框中选择了“任何”,则选择请求应该从此列中选择所有。

这是我现在的要求:

resultSet = sqlStatement.executeQuery("SELECT * FROM Messgerate WHERE COLUMN1 LIKE '%"+sColumn1+"%'" +
"AND COLUMN2 LIKE '%"+sColumn2+"%'" +
"AND COLUMN3 LIKE '%"+sColumn3+"%'" +
"AND COLUMN4 LIKE '%"+sColumn4+"%'" +
"AND COLUMN5 LIKE '%"+sColumn5+"%'" +
"AND COLUMN6 LIKE '%"+sColumn6+"%'" +"");

如果我在所有文本字段和复选框中输入内容,此请求就会生效。

有人可以帮帮我吗?

最佳答案

你能用OR代替AND吗?它会解决你的问题。因为如果第一个条件和第二个条件都为真,AND 运算符会显示一条记录。

OR 运算符在第一个条件或第二个条件为真时显示一条记录。

"SELECT * FROM Messgerate WHERE COLUMN1 LIKE '%"+sColumn1+"%'" +
"OR COLUMN2 LIKE '%"+sColumn2+"%'"
"OR COLUMN3 LIKE '%"+sColumn3+"%'" +
"OR COLUMN4 LIKE '%"+sColumn4+"%'" +
"OR COLUMN5 LIKE '%"+sColumn5+"%'" +
"OR COLUMN6 LIKE '%"+sColumn6+"%'" +"");

关于java - SQL 请求 - 具有多个空值的 SELECT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20490359/

相关文章:

php - strl 缩短字符

mysql - 如何查找所有包含columnS和column的表

java - BZIP-OutputStream 的问题

java - 以 o(n) 或 o(1) 的时间复杂度对整数数组进行排序

mysql - Elasticsearch |创建河流失败

mysql - 重构庞大的非规范化mysql数据库

具有键/值对的 MySQL 表,获取键作为列名

sql - 分层属性建模

java - 使用模式/匹配器提取子字符串

Java:为什么这个线程在已经持有锁的情况下还要等待?