十进制在sql中被截断

decimal getting truncated in tsql

我是 coldfusion 和 tsql 的新手,所以如果这是一个愚蠢的错误,我很抱歉浪费了你的时间。我搜索了 "decimal truncation, tsql, cold fusion"。以及其中任何一个的组合。

我有一个提交小数的表单,但数据库将数据记录为整数。意思是,表格的值为 2.2,数据库存储 2.

我的数据库编辑器的列规范:

COLUMN_NAME      DATA_TYPE   DATA_PRECISION  DATA_SCALE  NULLABLE  DATA_DEFAULT 
promofactor      decimal          15              5           NO        ((0))                        

HTML 形式:

<input type="number" name="promoFactor" class="form-control" id="promoFactor" placeholder="Must be a number" required step="0.0001">

冷聚变查询:

DECLARE @promofactor decimal(15,5)  = <cfqueryparam cfsqltype="cf_sql_decimal"  value="#form.promoFactor#"/>

对于 cf_sql_decimal cfsqltypes,您必须向 cfqueryparam 提供 scale 属性。

如果你想要 5 位小数:

<cfqueryparam type="cf_sql_decimal" value="#form.promofactor#" scale="5" />

文档:https://cfdocs.org/cfqueryparam