无法在 U-sql 中进行数据类型转换

Unable to do conversion of datatype in U-sql

我在使用 U-sql 进行一些转换时遇到问题,其中一个问题是在更改日期格式时,只有当我跳过第一行 (1) 时,我才能转换日期格式。但我确实需要列名,所以我不能跳过第一行。我还需要做一些其他的转换,比如数据类型转换和简单的 concatenations.Below 是我的示例 code.Kindly help.

DECLARE @dir string = "/storefolder/Sourcefile/dwfile3.csv";
DECLARE @file_set_path string = "/BCBSvermot/Sample_output.csv";


@data = 
    EXTRACT 
            CHECK_DATE string,

    FROM @dir
    USING Extractors.Csv(skipFirstNRows:1);

@result = SELECT 
Convert.ToDateTime(CHECK_DATE).ToString("dd-MM-yyyy") AS CHECK_DATE
FROM @data;

OUTPUT @result
TO @file_set_path
USING Outputters.Csv();

谢谢, 拉夫

您可以声明一个类似这样的函数:

DECLARE @func Func<string,string> = 
    (s) =>{
           DateTime i; 
           var x = DateTime.TryParse(s, out i); 
           return x?((DateTime)i).ToString("dd-MM-yyyy",CultureInfo.CurrentCulture) : s;
          };

然后您可以在查询中使用它

@result = 
SELECT @func(CHECK_DATE) AS CHECK_DATE
FROM @data;