Что это тогда? - что-то между двумя одинарными кавычками, которое не является пробелом.
Это строка нулевой длины. Вы правы, это не пробел - пробел ' '
- он имеет длину одного символа. Строка длиной 0 не похожа на строку длины 1, независимо от того, какой символ находится в строке.
В любой компьютерной системе мы произвольно выбираем смысл всего. Предположим, у вас есть вопрос с ответом A, B или C. У вас также могут быть ситуации, когда человек не знает, или знает, но не хочет говорить. Вы можете произвольно решить, что NULL означает «не знаю» и строку длиной 0 как «не хочу говорить» в дополнение ко всем людям, которые ответят письмом
Это произвольное решение, может быть, вы решите сохранить место для "не хочу говорить", может быть, восклицательный знак - что угодно. Некоторые поставщики баз данных считают важным обеспечить поддержку наличия строк нулевой длины, другие (oracle) этого не делают (oracle рассматривает null и '' как одно и то же)
В конечном итоге, если ваш БД поддерживает строки нулевой длины, вы должны понимать, что они собой представляют, и в контексте вашего приложения вы должны понимать, что они означают. То, что они есть, похоже на стакан без воды или пакет конфет без конфет. Утверждение «нет данных» отличается от «мы не знаем, есть ли данные или нет». «- неопределенность здесь чаще связана с NULL
Я пытаюсь понять, что это за запись и что значит быть ничем?
Эта запись является записью со строкой нулевой длины в этом столбце. Однако мы не можем сказать вам, что это значит, потому что решение о сохранении строки нулевой длины было принято вами или одним из других разработчиков в вашей компании или предыдущим разработчиком, который ушел. Возможно, он хотел записать разницу между нулевыми и нулевыми данными. Возможно, он не удосужился проверить, не были ли данные нулевыми, и хотел избежать типичного сбоя нулевой ссылки во внешнем приложении. Возможно, он хотел посчитать данные, хотя там не было данных, которые можно было бы поместить
Мы не можем ответить на эту часть вашего вопроса
Мы можем только сказать вам, что строки нулевой длины возможны, вы можете придать им столько же значений, сколько и любой другой строке, и они никогда не будут равны строке ненулевой длины, поэтому like '% %'
никогда их не найдет. Не думайте, что то, что вы не видите, должно быть пробелом.