Запрос MySQL для возврата TRUE для строк, имеющих положительное значение?
Чтобы вернуть TRUE для положительных значений и FALSE для отрицательных, используйте MySQL IF(). Сначала создадим таблицу:
mysql> create table DemoTable2038
-> (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> Value int
-> );
Query OK, 0 rows affected (0.87 sec)
Вставьте несколько записей в таблицу с помощью команды вставки:
mysql> insert into DemoTable2038(Value) values(57);
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable2038(Value) values(-100);;
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable2038(Value) values(-78);
Query OK, 1 row affected (0.42 sec)
mysql> insert into DemoTable2038(Value) values(78);
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable2038(Value) values(91);
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable2038(Value) values(-34);
Query OK, 1 row affected (0.14 sec)
Отобразите все записи из таблицы с помощью оператора select:
mysql> select *from DemoTable2038;
Это даст следующий результат:
+----+-------+
| Id | Value |
+----+-------+
| 1 | 57 |
| 2 | -100 |
| 3 | -78 |
| 4 | 78 |
| 5 | 91 |
| 6 | -34 |
+----+-------+
6 rows in set (0.00 sec)
Вот запрос, возвращающий true для строк, имеющих положительное значение:
mysql> select *,if(Value > 0,true,false) as Result from DemoTable2038;
Это даст следующий результат:
+----+-------+--------+
| Id | Value | Result |
+----+-------+--------+
| 1 | 57 | 1 |
| 2 | -100 | 0 |
| 3 | -78 | 0 |
| 4 | 78 | 1 |
| 5 | 91 | 1 |
| 6 | -34 | 0 |
+----+-------+--------+
6 rows in set (0.00 sec)