十进制在tsql中被截断

dav*_*n00 2 html t-sql coldfusion coldfusion-10

我是coldfusion和tsql的新手,所以如果这是一个愚蠢的错误,我很抱歉浪费你的时间.我搜索了"十进制截断,tsql,冷融合".以及任何这些组合.

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

每个数据库编辑器的列规范:

COLUMN_NAME      DATA_TYPE   DATA_PRECISION  DATA_SCALE  NULLABLE  DATA_DEFAULT 
promofactor      decimal          15              5           NO        ((0))                        
Run Code Online (Sandbox Code Playgroud)

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#"/>
Run Code Online (Sandbox Code Playgroud)

bel*_*sja 6

对于cf_sql_decimalcfsqltypes,您必须提供scalecfqueryparam 的属性.

如果你想要5个小数位:

<cfqueryparam type="cf_sql_decimal" value="#form.promofactor#" scale="5" />
Run Code Online (Sandbox Code Playgroud)

docs:https://cfdocs.org/cfqueryparam