When you UpSert the final table you may well need to CONVERT the strings to the appropriate type. Some data types will make an implicit data type conversion though.We mechanically generate the UpSert statements using some SQL, so it is easy for us to have that include all the necessary CONVERT statements so that we explicitly control data type conversion.All these will make an implicit data type conversion from String:DECLARE @SomeTypes TABLE( T_String varchar(20), T_int int, T_float float, T_bit bit, T_date datetime, T_GUID uniqueidentifier)SET DATEFORMAT dmyINSERT INTO @SomeTypesSELECT [T_String] = 'Some String', [T_int] = '1234', [T_float] = '123.456', [T_bit] = '1', [T_date] = '01/02/2000', [T_GUID] = '00000000-0000-0000-0000-000000000000'SELECT * FROM @SomeTypes
NOTE the SET DATEFORMAT to ensure that a string date like 'dd/mm/yyyy' is converted unambiguously (if you don't explicitly use CONVERT)