You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 11:52:05