无法在 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;
我在使用 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;