J'essaie de faire une sélection à partir d'une base de données MySQL à l'aide de la syntaxe où Col comme '%' code> mais je souhaite sélectionner même
null code> NULL code> avec cette requête. Y a-t-il une commande / opérateur qui peut sélectionner des données, y compris
null code>? P>
5 Réponses :
SELECT * FROM table WHERE (job LIKE '%' OR job IS NULL)
Utilisez l'opérateur IFNULL
WHERE IFNULL(xxx, '') LIKE '%'
Travaillé comme un charme!
Cette déclaration renvoie toutes les lignes sauf les lignes qui ont NULL dans la colonne1 pour obtenir toutes les lignes, y compris toutes les lignes avec NULL dans la colonne1, utilisez ceci: p> SELECT * FROM table WHERE IFNULL(column1,1) LIKE '%'
Si vous voulez que la colonne1 comme '%' et que vous voulez que la colonne1 soit null, pourquoi ne pas simplement laisser tomber la clause où?
Essayez: P>
mysql> create table foo (a char(30)); Query OK, 0 rows affected (0.02 sec) mysql> insert into foo values ( '' ); Query OK, 1 row affected (0.01 sec) mysql> insert into foo values ( NULL ); Query OK, 1 row affected (0.00 sec) mysql> select * from foo; +------+ | a | +------+ | | | NULL | +------+ 2 rows in set (0.00 sec) mysql> select * from foo where a like '%' or a is null; +------+ | a | +------+ | | | NULL | +------+ 2 rows in set (0.00 sec) mysql> select * from foo where ifnull (a, 1) like '%'; +------+ | a | +------+ | | | NULL | +------+ 2 rows in set (0.00 sec) mysql>
Et si votre où code> clause a plusieurs conditions
et code>, et vous souhaitez toujours éventuellement i> restreindre les résultats du champ qui serait null? Ensuite, vous aurez toujours besoin de la clause code> code>.
Utilisez coalesce au lieu de ifnull si vous souhaitez l'utiliser avec Java Createery
WHERE COALESCE (xxx, '') LIKE '%'