What is the difference between a NULL field and an empty field?
A null field value means, "The field value is unknown". An empty field means, "The field value is known and it is empty". A user typically assigns null to a field when he does not know what value to assign. A user typically assigns an empty value when he knows the field’s value is empty.
In SQL, string and binary fields may contain empty or null values. For example, a "varchar" field may contain a NULL value, an empty string '', or a non-empty string. When a user assigns an empty string '' to a field, it means the user intentionally wants it to be empty.
In JSON, the following values are empty but not null: {}, [], [{}], and "". When a user assigns an empty JSON value to a field, it means the value exists, has a specific empty type, and the user intentionally wants it to be empty.
FairCom also provides a variant field. Like SQL and JSON, it can be null, empty, or assigned to a non-empty value. A variant field may contain any type of data; thus, it can have all the empty values, including the empty string "", {}, [], [{}], or empty binary value.