public static string MigrateDataScript(string SQL, string TableName) { int posOfCreateTable = SQL.IndexOf("CREATE TABLE"); string s = SQL.Substring(posOfCreateTable + 12); string[] strArr = SplitMultiLines(s); strArr[0] = string.Empty; strArr = SprocOps.RemoveInputParameterPrecision(strArr); int i = 1; for (i = 1; i < strArr.Length; i++) { string columnName = RemoveDataTypes(strArr[i]).Replace(",", string.Empty).Trim(); if (strArr[i].Contains("NUMBER") || strArr[i].Contains("BOOLEAN") || strArr[i].Contains("IDENTITY")) { strArr[i - 1] += "' + "; strArr[i] = "IsNULL(CONVERT(" + columnName + ", SQL_VARCHAR),'NULL') + ',"; } else if (strArr[i].Contains("DATE")) { strArr[i - 1] += "' + "; //strArr[i] = "to_date(" + columnName + " AS CHAR(19)) + ''', "; strArr[i] = "'to_date(''' + CAST(COALESCE(" + columnName + ",'1900/01/01 12:00:00')" + " AS CHAR(19)) + ''',''yyyy/mm/dd HH24:MI:SS'')' + ',"; } else if (strArr[i].Contains("PRIMARY KEY") || strArr[i].Contains(")")) { strArr[i] = string.Empty; } else { strArr[i - 1] += "''' + "; strArr[i] = "IsNULL(REPLACE(" + columnName + ", '''', ''''''),'NULL') + ''', "; } } strArr[0] = string.Empty; for (i = strArr.Length - 1; i > 0; i--) { if (strArr[i].Length > 0) { strArr[i] = strArr[i].Replace(" + ''', ", string.Empty); strArr[i] += " + ''');' AS VARCHAR(4000)) AS SQL"; strArr[i] += Environment.NewLine + "FROM " + (char)34 + TableName + (char)34; break; } } s = "SELECT CAST('INSERT INTO " + TableName + " VALUES (' + " + Environment.NewLine; s += string.Join(Environment.NewLine, SplitMultiLines(string.Join(Environment.NewLine, strArr))); s = s.Replace("', + ''');' AS VARCHAR(4000))", "');' AS VARCHAR(4000))"); return(s); }