Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
插入postgresql和coldfusion期间截断的小数_Postgresql_Coldfusion - Fatal编程技术网

插入postgresql和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

我正在阅读excel工作表,并使用coldfusion将数据插入表中。下面是一段代码

<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()中。