MS-Access:编译查询时定义数据类型的相关问题咨询
解决Access查询中数字格式失效的问题
先直接拆解你的问题,给你实用的解决方案:
1. 转换函数的放置位置
你提到的CLng()、CInt()这类类型转换函数,必须放在SELECT子句中,用来定义查询返回字段的处理规则。举个实际的例子,如果你的表字段叫订单金额,查询语句应该这么写:
SELECT CLng([订单金额]) AS 整数金额 FROM 订单表;
不过这里要敲个警钟:CLng()是转长整型、CInt()是转整型,这俩函数会直接丢掉所有小数部分,完全不符合你要保留2位小数的需求!如果想实现保留两位小数的效果,应该用Round([字段名], 2)来做四舍五入,或者用Format([字段名], "Fixed")强制显示两位小数(哪怕末尾是0也会保留)。
2. 这种操作是否可行?
完全可行,但要选对工具。其实还有更简单的方式:
- 你可以直接在查询设计视图里设置字段格式:选中目标字段,在下方属性栏里把「格式」设为「标准」、小数位数选2,和表字段的设置逻辑一致,不用写任何函数;
- 如果需要把格式化后的数值作为后续计算或导出的基础,用
Format()或Round()在SELECT子句里处理就很合适,结果会直接以你想要的格式输出。
3. “标准,2位小数”的专业称谓
在Access的字段属性体系里,这个叫做数字字段的「标准显示格式(Standard Display Format)」,指定小数位数为2。另外还有个类似的「固定显示格式(Fixed Display Format)」,两者的区别是:标准格式会根据数值大小自动切换科学计数法,而固定格式始终显示指定的小数位数,不会切换显示逻辑。
内容的提问来源于stack exchange,提问作者Accexcessel
相关产品推荐
相关产品推荐

