admin / 14.03.2018

null — Викисловарь

IS NULL (Transact-SQL)IS NULL (Transact-SQL)

  • Время чтения: 2 мин
  • Соавторы

Определяет, может ли указанное выражение быть NULL.Determines whether a specified expression is NULL.

Синтаксические обозначения в Transact-SQLTransact-SQL Syntax Conventions

СинтаксисSyntax

АргументыArguments

expressionexpression
Любое допустимое выражение expression.Is any valid expression.

NOTNOT
Задает отрицание логического результата.Specifies that the Boolean result be negated.Предикат меняет возвращаемые выражением значения на обратные, возвращая TRUE, если значение не равно NULL и FALSE, если значение равно NULL.The predicate reverses its return values, returning TRUE if the value is not NULL, and FALSE if the value is NULL.

Типы результатаResult Types

BooleanBoolean

Значения кода возвратаReturn Code Values

Если значение expression равно NULL, IS NULL возвращает TRUE; в противном случае возвращается значение FALSE.If the value of expression is NULL, IS NULL returns TRUE; otherwise, it returns FALSE.

Если значение expression равно NULL, IS NOT NULL возвращает FALSE; в противном случае возвращается значение TRUE.If the value of expression is NULL, IS NOT NULL returns FALSE; otherwise, it returns TRUE.

Для определения, имеет ли выражение значение NULL, используйте IS NULL или IS NOT NULL вместо сравнения операторов (например = или !=).To determine whether an expression is NULL, use IS NULL or IS NOT NULL instead of comparison operators (such as = or !=).Сравнение операторов возвращает UNKNOWN, если хотя бы один аргумент или они оба равны NULL.Comparison operators return UNKNOWN when either or both arguments are NULL.

ПримерыExamples

В следующем примере возвращается наименование и вес всех продуктов, для которых вес меньше фунтов, или неизвестен цвет, либо .The following example returns the name and the weight for all products for which either the weight is less than pounds or the color is unknown, or .

Примеры: Хранилище данных SQL AzureAzure SQL Data Warehouse и Параллельное хранилище данныхParallel Data WarehouseExamples: Хранилище данных SQL AzureAzure SQL Data Warehouse and Параллельное хранилище данныхParallel Data Warehouse

В следующем примере возвращаются полные имена всех сотрудников с инициалами отчества.The following example returns the full names of all employees with middle initials.

См. также:See Also

CASE (Transact-SQL)CASE (Transact-SQL)
CREATE PROCEDURE (Transact-SQL)CREATE PROCEDURE (Transact-SQL)
CREATE TABLE (Transact-SQL)CREATE TABLE (Transact-SQL)
Типы данных (Transact-SQL)Data Types (Transact-SQL)
Выражения (Transact-SQL)Expressions (Transact-SQL)
INSERT (Transact-SQL)INSERT (Transact-SQL)
LIKE (Transact-SQL)LIKE (Transact-SQL)
Операторы (Transact-SQL)Operators (Transact-SQL)
Логические операторы (Transact-SQL)Logical Operators (Transact-SQL)
SELECT (Transact-SQL)SELECT (Transact-SQL)
sp_help (Transact-SQL)sp_help (Transact-SQL)
UPDATE (Transact-SQL)UPDATE (Transact-SQL)
WHERE (Transact-SQL)WHERE (Transact-SQL)

NULL означает отсутствие, неизвестность информации. Значение NULL не является значением в полном смысле слова: по определению оно означает отсутствие значения и не принадлежит ни одному типу данных. Поэтому NULL не равно ни логическому значению FALSE, ни пустой строке, ни нулю. При сравнении NULL с любым значением будет получен результат NULL, а не FALSE и не 0.

Работа с NULL-значениями

Более того, NULL не равно NULL! Довольно часто программисты избегают null-значений и для нулевых полей в базе выставляют значения по умолчанию типа 0, » (пустая строка). Во-первых, это неправильно с точки зрения семантики: 0 все-таки означает наличие информации. Во-вторых, использование подобных дефолтных значений может привести к ошибкам.

Допустим, есть табличка product, в которой хранятся модели ноутбуков. У каждой модели есть производитель, описание и цена. Цена может принимать null, т.к. в момент добавления нового товара она может быть неизвестна. Допустим, необходимо вычислить среднюю стоимость для ноутбуков hp. Когда все цены известны, проблем не возникает.

SELECT brand, AVG(price) avg_price FROM product WHERE brand = 1 GROUP BY brand

1) В первом эксперименте поле price будет иметь значение по умолчанию » (пустая строка). Цена модели № 4 неизвестна (ее значение 0 или »). В этом случае средняя цена вычисляется не верно, т.к. в расчете учитывается и ноутбук, не имеющий цены.

avg = (400+300+500+0) / 4 = 300

2) Во втором эксперименте поле price имеет значение null. В этом случае база игнорирует null-значения при группировке. Среднее значение высчитывается без учета модели № 4, у которой неизвестна цена.

avg = (400+300+500) / 3 = 400

Таким образом, используйте null-значения там, где они действительно нужны по смыслу.

В SQL не является значением — это состояние, указывающее, что значение элемента неизвестно или не существует.

Основные положения

Это не ноль, не пустота, не «пустая строка», и оно не ведет себя как какое-то из этих значений. Некоторые вопросы SQL являются более запутанными, чем , и его работа станет не сложна для понимания, как только вы запомните следующее простое определение: — значит неизвестно.

Позвольте мне повторить, что:

означает НЕИЗВЕСТНО

Держите эту строку в уме во время чтения оставшейся части статьи, и большинство, на первый взгляд, нелогичных результатов, где вы получаете , на практике объяснят сами себя.

Что такое ?

IS NOT NULL SQL Server

Для чего нужен файловый формат .NULL?

В выпускаемой Apple коммерческой настольной операционной системе Mac OS X строка символов с точкой «.null» вместо расширения представляет собой имя скрытого файла. Наряду с несколькими другими характерными именами вроде .jupdate, .rserv и др. оно относится к вредоносному ПО Flashback, поражающему ОС Apple Mac OS X посредством уязвимости Java.

В системе Mac OS X присутствие в корне домашнего каталога файла с именем .null (.jupdate и др.) является признаком заражения Flashback. Этот файл представляет собой исполняемый файл Mac OS X. Из-за точки в начале имени он считается скрытым и по умолчанию не отображается в диспетчере файлов (Finder). Создаваемый незаметно для пользователя на подверженных данной уязвимости экземплярах Mac OS X при посещении вредоносных веб-сайтов на основе Java, файл .null (.jupdate и др.) выступает в качестве агента-загрузчика, который загружает основную часть вредоносного ПО и передает ему управление. Flashback известен тем, что ворует личную и финансовую информацию и передает ее на удаленные серверы.



Проблема Flashback была изучена Apple, в результате чего для Mac OS X были выпущены исправленная версия Java и автоматизированное средство удаления вредоносного ПО. Кроме того, в Интернете легко найти подробные инструкции по ручному удалению Flashback.


В некоторых случаях расширение .null присваивается различным файлам мультимедиа, например, изображениям или аудиофайлам, в ход их обработки локальными или онлайн-приложениями. Будучи обусловленным некорректной конфигурацией или ошибками программного обеспечения, такое поведение является аномальным, а расширение .null — лишь техническим заполнителем места расширения.

Если известен или может быть установлен их настоящий формат, такие файлы должны быть по отдельности либо совместно соответствующим образом переименованы (напр., «.jpg» вместо «.null«).


Кроме того, файловое расширение .null используется разработанной J.P.Bollback программой стохастического мутационного анализа филогенеза SIMMAP (Stochastic Mutational Mapping on Phylogenies) для обозначения необработанных файлов статистических данных с нулевыми или прогнозными значениями, созданных в ходе работы SIMMAP. В дополнение к файлам .null создаются файлы с наблюдаемыми значениями, которые получают расширение .obs.


Наконец, расширение .null может присваиваться файлам, связанным с так называемым нуль-устройством (NULL, /dev/null в ОС на базе Unix) — виртуальной «черной дырой» для цифровых данных. Файлы .null могут просто являться символическими ссылками на устройство /dev/null.

Программы для открытия или конвертации NULL файлов

Вы можете открыть файлы NULL с помощью следующих программ: 

FILED UNDER : IT

Submit a Comment

Must be required * marked fields.

:*
:*