You can specify column-level datatype translations in the replication definition.
The declared_datatype defines the datatype of the value delivered to the Replication Server from the Replication Agent.
The published_datatype defines the datatype of the value after a column-level translation. If there is no column level translation defined using the map to clause of the replication definition, then the published datatype defaults to the declared datatype.
The delivered datatype is the datatype of the value as delivered to the replicate database. This may be different from the published datatype if there are class level translations defined for the function-string class used for the replicate data server's connection. If there is no class level translation defined, then the delivered datatype defaults to the published datatype.