如何在duckdb-wasm中设置castDecimalToDouble自动转换Decimal为Double
使用DuckDB-WASM自动将Parquet中的Decimal转换为Double类型
你可以通过配置DuckDB的castDecimalToDouble参数实现自动转换,以下是两种实用的实现方式:
方式一:单查询时指定配置
在执行查询时传入包含该配置的对象,仅对当前查询生效:
// 假设已初始化并建立数据库连接 conn const queryConfig = { castDecimalToDouble: true }; // 读取Parquet文件,Decimal会自动转为Double const queryResult = await conn.query(`SELECT * FROM 'your_target.parquet'`, queryConfig);
方式二:全局设置连接配置
如果所有查询都需要转换Decimal,可以全局开启该配置,对当前连接的所有查询生效:
// 假设已初始化数据库并建立连接 conn // 通过SQL语句全局开启转换 await conn.run(`SET cast_decimal_to_double = true;`); // 后续所有读取Parquet的查询都会自动转换Decimal为Double const result = await conn.query(`SELECT * FROM 'your_target.parquet'`);
说明
启用该配置后,DuckDB会自动处理Parquet中的Decimal类型字段,无需手动编写CAST(column AS DOUBLE)这类转换语句,直接返回Double类型的结果。
内容的提问来源于stack exchange,提问作者sonium
相关产品推荐
相关产品推荐

