I'm struggling with the datetime2 format.
I get this message:
Msg 8152, Level 16, State 17, Line 1
String or binary data would be truncated.
from this line:
CASE WHEN [Entered_Dttm] IS NULL THEN 'NULL' ELSE 'CONVERT(DATETIME2, ' + master.sys.fn_varbintohexstr (CONVERT(BINARY(8), [Entered_Dttm])) + ')' END + ', ' +
of this select statement:
SELECT 'INSERT INTO D_FORMATTED_ITEM_CODE' +
'(' +
'[Formatted_Item_Code_Id],' +
'[Item_Code_GUID],' +
'[Formatted_Item_Code],' +
'[Format_Type_Id],' +
'[Entered_Dttm],' +
'[Entered_By]' +
')' +
' VALUES (' +
CASE WHEN [Formatted_Item_Code_Id] IS NULL THEN 'NULL' ELSE 'CONVERT(UNIQUEIDENTIFIER, ' + master.sys.fn_varbintohexstr (CONVERT(BINARY(16), [Formatted_Item_Code_Id])) + ')' END + ', ' +
CASE WHEN [Item_Code_GUID] IS NULL THEN 'NULL' ELSE 'CONVERT(UNIQUEIDENTIFIER, ' + master.sys.fn_varbintohexstr (CONVERT(BINARY(16), [Item_Code_GUID])) + ')' END + ', ' +
CASE WHEN [Formatted_Item_Code] IS NULL THEN 'NULL' ELSE '''' + REPLACE([Formatted_Item_Code], '''', '''''') + '''' END + ', ' +
CASE WHEN [Format_Type_Id] IS NULL THEN 'NULL' ELSE CONVERT(VARCHAR(40), [Format_Type_Id]) END + ', ' +
CASE WHEN [Entered_Dttm] IS NULL THEN 'NULL' ELSE 'CONVERT(DATETIME2, ' + master.sys.fn_varbintohexstr (CONVERT(BINARY(8), [Entered_Dttm])) + ')' END + ', ' +
CASE WHEN [Entered_By] IS NULL THEN 'NULL' ELSE '''' + REPLACE([Entered_By], '''', '''''') + '''' END +
')'
FROM D_FORMATTED_ITEM_CODE
is there any easy type conversion I can use?
412-977-3526 call/text