В CREATE TABLE значение NULL или NOT NULL здесь varchar(50) null
является ограничением , которое определяет, разрешены ли значения NULL.NOT NULL означает нет.
Когда вы вставляли данные, какой оператор вы выполняли?
INSERT TABLE1 VALUES (Null, 1, First, Null)
или
INSERT TABLE1 VALUES ('Null', 1, First, 'Null')
- В первом используется ключевое словоNULL, вставляет NULL (не нулевое значение: нет такого понятия, возможно).Никакие значения не сохраняются, кроме как в полях растрового изображения NULL
- Второе имеет строку «null», а длина символов N, U, L, L + 2 сохраняется
Когда вы запускаете SELECT * FROM TABLE1
, клиентские инструменты будут показывать NULL.
Чтобы проверить, действительно ли у вас NULL или строка NULL, выполните эту команду
SELECT ISNULL(name, 'fish'), ISNULL(date, GETDATE()) FROM TABLE1
Для SELECTs
--null symbols. No value stored
SELECT * FROM TABLE1 WHERE NAME IS NULL
--string null
SELECT * FROM TABLE1 WHERE NAME = 'NULL'
--empty string
SELECT * FROM TABLE1 WHERE NAME = ' '
Примечание: нулевой символ / значение не является пустой строкой.Это не имеет значения и не будет сравниваться.Даже для самого себя.
Что касается вашего администратора баз данных, приведенный выше код с ISNULL определит, что именно будет сохранено.
Редактировать: если вы храните нулевой символ / значение, тогда ваш администратор баз данных должен прочитать" null bitmap "