Dans SQLite, comment puis-je sélectionner des enregistrements où some_column est vide?
Vide compte à la fois comme NULL et "".
Dans SQLite, comment puis-je sélectionner des enregistrements où some_column est vide?
Vide compte à la fois comme NULL et "".
Réponses:
Il existe plusieurs façons, comme:
where some_column is null or some_column = ''
ou
where ifnull(some_column, '') = ''
ou
where coalesce(some_column, '') = ''
de
where ifnull(length(some_column), 0) = 0
length
exemple car il pourrait en fait être plus rapide dans certaines situations, car comparer des nombres est plus simple que comparer des chaînes. Si les performances sont un problème, vous devez bien sûr vérifier ce qu'elles font.
Il semble que vous pouvez simplement faire:
SELECT * FROM your_table WHERE some_column IS NULL OR some_column = '';
Cas de 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);
Résultat:
SELECT id FROM your_table WHERE some_column IS NULL OR some_column = '';
id
----------
1
2
5
Vous pouvez le faire avec les éléments suivants:
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);
Cela vous donnera le nombre de lignes où la valeur de la colonne est nulle ou vide.