i'm asking opposite of question force empty strings null ; instead, want fields empty strings stored empty strings. reason want (even in contradiction to people say ) want have partial uniqueness constraint on table works multiple database types (postgres, mysql, etc), described in question here . the psuedocode schema basically: person { first_name : string, presence: true middle_name : string, presence: true last_name : string, presence: true birth_date : string, presence: true city_of_birth: string, presence: true active: tinyint } the constraint person must unique if active; inactive people can not unique (ie, can have multiple john smiths not active, 1 active john smith). further complication: according project specification, first_name , last_name required given user, other fields can blank. our current solution applying partial uniqueness constraint use fact null != null, , set active tinyint null if not active , set 1 if active. thus, can use rai...