我想从表中插入一些Java Double值(我正在使用SQL Server)。 如何使用Liquibase创建上述表格?更确切地说,该列应该是什么类型的?以下尝试无效。显然Float不够精确。
<column name="visitsAvg" type="FLOAT"/>
答案 0 :(得分:1)
Liquibase将JDBC类型用于列。 JDBC / SQL类型FLOAT
与SQL Server类型FLOAT
不同。 JDBC类型FLOAT
是32位单精度浮点。如果需要64位双精度(SQL Server中为DOUBLE
),则应指定FLOAT(53)
。
可能liquibase将type="FLOAT"
的请求转换为SQL Server中FLOAT(24)
类型的列,这不足以存储具有完全精度的Java double
。
答案 1 :(得分:0)
问题是我得到的是NaN而不是数字。更准确地说,在我的代码中的某个时刻有一个除以0.因此,问题不是将Java Double转换为某种SQL类型,也不是将Liquibase转换为。我错误地认为问题可能存在于某处。