SSIS-使用脚本任务在csv输出文件中将null值保留为null

SSIS-使用脚本任务在csv输出文件中将null值保留为null,csv,ssis,script-task,Csv,Ssis,Script Task,我使用执行sql任务来读取sql查询,然后使用脚本任务将查询结果写入csv文件,方法如下文所述- SSIS:将记录集写入文件的脚本任务 (). 除此之外,我需要的是在csv文件中填充“null”,只要查询结果为null。如何使用脚本任务来实现这一点????我还需要编写哪些代码???有几种方法可以做到这一点,但答案是在foreach数据行循环中的Persist(): foreach (System.Data.DataRow row in table.Rows) {

我使用执行sql任务来读取sql查询,然后使用脚本任务将查询结果写入csv文件,方法如下文所述-

SSIS:将记录集写入文件的脚本任务 ().
除此之外,我需要的是在csv文件中填充“null”,只要查询结果为null。如何使用脚本任务来实现这一点????我还需要编写哪些代码???

有几种方法可以做到这一点,但答案是在foreach数据行循环中的
Persist()

       foreach (System.Data.DataRow row in table.Rows)
        {
            // TODO: For string based fields, capture the max length
            IEnumerable<string> fields = (row.ItemArray).Select(field => field.ToString());

            file.WriteLine(string.Join(delimiter, fields));
        }
foreach(表中的System.Data.DataRow行)
{
//TODO:对于基于字符串的字段,捕获最大长度
IEnumerable fields=(row.ItemArray).Select(field=>field.ToString());
file.WriteLine(string.Join(分隔符,字段));
}
必须在lambda表达式中测试db null。虽然我还没有测试,但这应该可以工作:

IEnumerable<string> fields = (row.ItemArray).Select(field => ((field  == DBNull.Value) "NULL" : field.ToString()));
IEnumerable fields=(row.ItemArray)。选择(field=>((field==DBNull.Value)“NULL”:field.ToString());