These are the data-types that you can use when defining your data objects. They are all subclasses of DBField. See also form-field-types, which lists all fields you can use to put these data types in forms. See 2-extending-a-basic-site for introducing their usage.
The database field types HTMLVarchar and Varchar are exactly the same in the database. However, the templating engine knows to escape the Varchar field and not the HTMLVarchar field. So, it's important you use the right field if you don't want to be putting $FieldType.XML everywhere.
If you're going to put HTML content into the field, please use the field type with the HTML prefix. Otherwise, you're going to risk double-escaping your data, forgetting to escape your data, and generally creating a confusing situation.
Please use comments for notes, tips and corrections about the described
functionality.
Use the Silverstripe Forum to
ask questions.