Я полагаю, что большую часть времени вас не будет волновать, почему отсутствуют значения, просто они отсутствуют - но, кодируя его как отрицательные целые числа, вам придется обязательно отфильтровывать их каждый развы делаете что-нибудь с этой переменной.Это наоборот: вы должны сделать что-то особенное, чтобы включить информацию о типе пропущенности, а не выполнять основную математику и статистику.
Вместо того, чтобы пытаться воссоздать в SQL Server тип данных, которого у него нет,почему бы не работать с тем, что есть?Я бы, вероятно, просто отправил отсутствующие значения как NULL на SQL Server, а затем закодировал бы тип отсутствия во второй переменной.Когда вам действительно нужно знать, почему отсутствуют данные, они все еще там;но когда вы этого не сделаете, SQL Server будет обрабатывать пропущенные значения в вашей переменной, используя методы по умолчанию для работы с ними.