Я был бы склонен добавить, чтобы добавить это как отдельную таблицу.
Причина этого заключается в том, что, хотя ваша текущая потребность просто сохранить дату возврата, будущая версия вашего приложения может захотеть подробнее об этом, например, - причина возврата, сумма возврата, PDF Reciept и др. c
Если дальнейшие требования идут дальше, существует гораздо меньше существующего кода, который может сломаться и должен переписать.
Как вы говорите, в настоящее время это может несколько усложнить запросы, но для меня это будет цена, которую стоит заплатить за сохранение боли в дальнейшем. Как сказал Гордон, вам также не нужно хранить NULL для каждой невозмещаемой покупки, если вы создаете дополнительную таблицу - вам нужно хранить только одну строку для возврата.
Если запросы проиндексированы правильно и записаны в оптимизированным способом вы должны увидеть небольшую разницу в производительности
(обычные предостережения относительно размера ваших данных и YMMV применяются)