FIND_IN_SET(): выборка несовпадающих значений

Silex

unitecsys
FIND_IN_SET(): выборка несовпадающих значений

Есть поле myset типа SET, в котором через запятую перечислены числа. Выборка where FIND_IN_SET ('1', myset)=0 для поиска всех записей, не содержащих 1, не работает. Где ошибка?
 

Сергей123

Новичок
А покажи один в один что вернёт
SELECT myset FROM таблица WHERE какое_нибудь_условие
для записи, которая по-твоему должна возвращаться для твоего неработающего запроса.

-~{}~ 04.08.04 15:57:

mysql> create table t (s set('1','2','3') not null);
Query OK, 0 rows affected (0.02 sec)

mysql> insert t(s) values ('1,2'),('1,3'),('2,3');
Query OK, 3 rows affected (0.00 sec)
Records: 3 Duplicates: 0 Warnings: 0

mysql> select * from t;
+-----+
| s |
+-----+
| 1,2 |
| 1,3 |
| 2,3 |
+-----+
3 rows in set (0.00 sec)

mysql> select * from t where find_in_set('1',s)=0;
+-----+
| s |
+-----+
| 2,3 |
+-----+
1 row in set (0.00 sec)
 

Silex

unitecsys
Бресь Сергей
Спасибо за участие, разобрался сам - там все верно в запросе было, просто логическая ошибка в алгоритме была. Можно закрывать...
 
Сверху