Azure/U-SQL-将字符串转换为浮点

Azure/U-SQL-将字符串转换为浮点,azure,u-sql,Azure,U Sql,我在Azure data lake/U-SQL中加载文件时遇到一些问题。我认为其中一列中的某些值可能有问题(我可以将它们作为字符串加载,但不能作为浮点值加载),因此我希望将它们作为字符串加载,对有问题的值使用CASE语句进行一些更改,然后将新值转换为浮点值。但是,我找不到如何在EXTRACT语句之外执行此操作 下面是我在SQL中的实现方法 有什么建议吗 @inputInfo = EXTRACT var1 string, var2 string, var3 string FROM "~/infi

我在Azure data lake/U-SQL中加载文件时遇到一些问题。我认为其中一列中的某些值可能有问题(我可以将它们作为字符串加载,但不能作为浮点值加载),因此我希望将它们作为字符串加载,对有问题的值使用CASE语句进行一些更改,然后将新值转换为浮点值。但是,我找不到如何在EXTRACT语句之外执行此操作

下面是我在SQL中的实现方法

有什么建议吗

@inputInfo = 
EXTRACT
var1 string,
var2 string,
var3 string
FROM "~/infile.txt"
USING Extractors.Text(quoting : false, delimiter : '|');

@t1 = 
SELECT CASE WHEN var1 == "-0" THEN 0 ELSE var1 END AS var1
       , var2
       , var3
FROM @inputInfo;

@t2 = 
SELECT CAST(var1 AS FLOAT) AS var1
        , var2
        , var3
FROM @t1;

你可以试一试

@departments = 
    SELECT * FROM 
        ( VALUES
        ("Newton",  23.00m),
        ("Susan",   25.1234m),
        ("Emma",    25.9999m),
        ("Bradley", 25.9900m)
        ) AS T(Cutomer, Balance);


@result =
    SELECT Cutomer,
           (float)Balance AS Balance1
    FROM @departments;


OUTPUT @result
TO "/output/output.txt"
USING Outputters.Tsv();

如果这对您不起作用,请提供一些示例数据和预期结果。

谢谢-我最终使用了
float?
,如下所述:。