Given a table with a column that represents a type A or B or None, how should the None be represented? As a NULL or explicitly None or something else?
Advertisement
Answer
In general, I would advocate in favor of using NULL to represent the absence of data. Rationale:
-
nullwill never conflict with other values – so if one you eventually comes up with a actual value of'None', this is not a problem -
nullworks across datatypes, so it can be used consistently across different tables or columns to represent “missing” data (which saves you the burden of choosing, then remembering the value you picked for each and every column)