Dans SQLite, comment puis-je sélectionner des enregistrements où some_column est vide? Vide compte à la fois comme NULL et "".SQLite sélectionnez où vide?
Répondre
Il y a 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
+ 1 pour la variété – MPelletier
Quels sont les avantages de chaque solution? – Pacerier
@Pacerier: Il peut y avoir une différence de performance, mais à part ça, c'est juste une question de style. – Guffa
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
+1: J'envisagerais d'utiliser 'TRIM (some_column) = ''' aussi –
Peut-être vous dire
select x
from some_table
where some_column is null or some_column = ''
mais je ne peux pas le dire puisque vous n'avez pas vraiment posé de question.
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 pas des lignes où la valeur de la colonne est nulle ou vide.
Il est utile de formuler des questions sous forme de questions. À quoi sommes-nous censés répondre? – javawizard