Поведение null-значений в SQL отличается от поведения null-значений в большинстве процедурных объектно-ориентированных языков. В SQL null представляет «неизвестное» значение, так что примитивные операции, такие как сложение или конъюнкция, возвращают null-значение, если хотя бы один их операнд является null-значением. Например, x == null всегда возвращает null, даже если x является null-значением. С другой стороны, в агрегатных функциях SQL, таких как sum, null-значения игнорируются. В объектно-ориентированных языках программирования обычно допускаются null-значения объектных ссылок, но для примитивных типов, таких как целые числа, null-значения невозможны. В реляционных соединениях null-значения также обрабатываются как «неизвестные» значения, но разыменование null-указателя в объектно-ориентированном языке обычно приводит к возникновению исключительной ситуации.
В некоторых языках, таких как C++ и C#, допускается определение пользовательских типов данных, которые соответствуют семантике баз данных, но могут использоваться вместо встроенных типов языка программирования. Такая возможность бесшовной интеграции внешних типов поддерживается не во всех языках программирования.