我需要将字符串转换为float 我需要u-sql代码。
脚本可能是指数级的,例如10 ^ 2
我尝试了Float.Convert,但无效。
我希望
convert(10^2) = 100
答案 0 :(得分:1)
假设这是您自己的格式,则需要编写一个C#函数。
您可以在
后面编写代码https://www.purplefrogsystems.com/paul/2017/04/calling-u-sql-stored-procedures-with-c-code-behind/
或功能
https://sqlplayer.net/2017/10/functions-in-the-usql-the-hidden-gem-in-the-summer-2017-update/
答案 1 :(得分:1)
使用U-SQL内联函数的示例:
DECLARE @func Func <string,int?> = (s) =>{int x = Convert.ToInt32(s.Split('^')[0]); int y = Convert.ToInt32(s.Split('^')[1]); return x*y;};
DECLARE @inputFile string = @"\input\input36.csv";
DECLARE @outputFile string = @"\output\output.csv";
@input =
EXTRACT rowId int,
expo string
FROM @inputFile
USING Extractors.Csv();
@output =
SELECT *,
@func(expo) AS z
FROM @input;
OUTPUT @output
TO @outputFile
USING Outputters.Csv(quoting:false);
使用此sample file,我得到了以下结果: