插入postgresql和coldfusion期间截断的小数
我正在阅读excel工作表,并使用coldfusion将数据插入表中。下面是一段代码插入postgresql和coldfusion期间截断的小数,postgresql,coldfusion,Postgresql,Coldfusion,我正在阅读excel工作表,并使用coldfusion将数据插入表中。下面是一段代码 <cfquery name="insert_data" dataSource="#application.datasource#"> insert into tableA (name, salary) values(#name#, <cfif val(salary)> <cfqueryparam cfsqltype="cf_s
<cfquery name="insert_data" dataSource="#application.datasource#">
insert into tableA (name, salary)
values(#name#,
<cfif val(salary)>
<cfqueryparam cfsqltype="cf_sql_decimal" scale="2"
value="#numberformat(salary,'99.99')#" />,
<cfelse>
0.00,
</cfif>
</cfquery>
插入表A(姓名、工资)
值(#名称#),
,
0.00,
当我转储工资值时,它显示为2位小数,例如15000.00,但在插入后,表中的小数被截断。列类型为数字(12,2)在postgresql数据库中。这是一个数据库问题吗?去掉numberformat函数。它返回一个字符串。这是否仍然不走运,仍然只插入15000个想法?在DB服务器上记录查询并检查接收到的内容。您还应该使用
的result
属性再次检查CF发送的内容gging处于打开状态,因此我看到在insert参数中发送的值是15000.00。如何在DB上记录查询?@user747291为什么?您存储的数据可能与您用来向您显示数据的工具不同。15000与15000.00相同。您可能只是在处理将值显示回您的某个工具一个整数。你能用1.00直接插入到数据库中,并让它显示为1.00吗?试试丹的建议,插入一条记录,实际数字在小数点处。另外,也可以尝试将queryparam包装在Postgres to_number()中。