如何在Logic Apps中导出无科学计数法的查询结果?
解决Logic Apps导出CSV时浮点数显示为科学计数法的问题
由于Create CSV操作没有内置的数值格式化配置,你可以通过以下两种方式避免浮点数以科学计数法导出:
方法一:在SQL查询阶段格式化浮点数
直接在SQL查询中把浮点数列转换为指定格式的字符串,这样返回的结果本身就是普通数值格式,无需后续处理。以SQL Server为例,使用FORMAT函数:
SELECT Column1, Column2, Column3, Column4, FORMAT(FloatColumn, 'N6') AS FloatColumn, -- 保留6位小数,可根据实际需求调整位数 Column5, Column6 FROM YourTargetTable
执行该查询后,返回的FloatColumn就是字符串类型的常规数值,导出CSV时不会出现科学计数法。
方法二:在Logic Apps表达式中转换数值
修改CSV操作里的浮数列表达式,使用formatNumber函数手动格式化数值:
{ "type": "Table", "inputs": { "from": "@body('SQL_sorgusu_çalıştırın_(V2)_1')?['resultsets']?['Table1']", "format": "CSV", "columns": [ { "value": "@{item()?['Column1']}" }, { "value": "@{item()?['Column2']}" }, { "value": "@{item()?['COlumn3']}" }, { "value": "@{item()?['Column4']}" }, { "value": "@{formatNumber(item()?['FloatColumn'], '0.000000')}" -- 保留6位小数,按需调整格式 }, { "value": "@{item()?['Column5']}" }, { "value": "@{item()?['Column6']}" } ] }, "runAfter": { "SQL_sorgusu_çalıştırın_(V2)_1": [ "SUCCEEDED" ] } }
formatNumber的第二个参数是格式字符串:'0.000000'表示强制保留6位小数(末尾补0);如果希望去掉末尾无意义的0,可以使用'#.#######'格式。- 注意根据浮点数的实际精度调整小数位数,避免数值被截断。
内容的提问来源于stack exchange,提问作者çagatay yılmaz
相关产品推荐
相关产品推荐

