In SQLite, come posso selezionare i record in cui some_column è vuoto?
Vuoto conta sia come NULL che "".
In SQLite, come posso selezionare i record in cui some_column è vuoto?
Vuoto conta sia come NULL che "".
Risposte:
Ci sono diversi modi, come:
where some_column is null or some_column = ''
o
where ifnull(some_column, '') = ''
o
where coalesce(some_column, '') = ''
di
where ifnull(length(some_column), 0) = 0
length
esempio perché potrebbe effettivamente essere più veloce in alcune situazioni, poiché il confronto dei numeri è più semplice del confronto delle stringhe. Se la prestazione per questo è un problema, dovresti ovviamente controllare cosa fa.
Sembra che tu possa semplicemente fare:
SELECT * FROM your_table WHERE some_column IS NULL OR some_column = '';
Scenario di test:
CREATE TABLE your_table (id int, some_column varchar(10));
INSERT INTO your_table VALUES (1, NULL);
INSERT INTO your_table VALUES (2, '');
INSERT INTO your_table VALUES (3, 'test');
INSERT INTO your_table VALUES (4, 'another test');
INSERT INTO your_table VALUES (5, NULL);
Risultato:
SELECT id FROM your_table WHERE some_column IS NULL OR some_column = '';
id
----------
1
2
5
Puoi farlo con quanto segue:
int counter = 0;
String sql = "SELECT projectName,Owner " + "FROM Project WHERE Owner= ?";
PreparedStatement prep = conn.prepareStatement(sql);
prep.setString(1, "");
ResultSet rs = prep.executeQuery();
while (rs.next()) {
counter++;
}
System.out.println(counter);
Questo ti darà il numero di righe in cui il valore della colonna è nullo o vuoto.