Input fields and table columns

The system determines the shape of input rows by inspecting the schema of the target table. The fields are paired left to right with the columns in the target schema. When the system locates the start of a field, the declared type of the corresponding target column guides further processing. It is an error for a row to contain more fields than the number of columns in the target table.

If an input field corresponds to a column that you declare as char, nchar, varchar, or nvarchar, the system considers it a string field. All other types are considered non-string fields. This distinction is important because spaces are significant in string fields but not in non-string fields. An empty field or a field that contains only spaces can represent a legitimate string value but can never be a legitimate non-string value.

For a string field, all characters from the beginning of the field to the terminating delimiter or end-of-row sequence contribute to the value of the field. For a non-string field, the system skips any leading spaces, interprets or converts the contents of the field, and skips any trailing spaces.

The string and non-string distinction also affects how a field indicates that it is null. For more information, see Absence of a value in a record.