Мне пришлось поковыряться в этом, потому что я сам не знал. Из этой ссылки мы видим, что BINARY(0)
может хранить два типа значений:
Таким образом, вы можете использовать столбец BINARY(0)
почти так же, как и столбец BIT(1)
без значения NULL, а именно как столбец true / false или yes / no. Однако требование к памяти BINARY(0)
составляет всего один бит, что не требует дополнительного хранения за границей для столбцов, допускающих значение NULL.
Поскольку состояние не NULL
столбца BINARY(0)
будет пустой строкой, которая переводится в ноль, вы можете найти все такие записи, используя:
SELECT *
FROM yourTable
WHERE bin_zero_column = 0;
Неотмеченные NULL
записи могут быть найдены с использованием WHERE bin_zero_column IS NULL
.