数据库骚操作之——唯float要避而远之
【概述】
最近经常需要将excel中的数据导入的数据库中,float这个数据类型让我没了脾气,遇到float还是避而远之的好。
当excel中某一列前面的行都满足数值的格式的时候,导入到sql server中时系统往往自动匹配到的是float类型,对于不能转换为float的值直接按空值处理了,如果您确定您的列不是数值,请务必修改单元格格式为文本。
如果您的列是数值,那么,建议您不要任由系统取float类型,特别是我们的财务数据,像金额字段我们都能确定它的精度(一般为两位),那么在导入execl时编辑映射界面,手动修改字段类型为decimal(23,10)就基本够用了。
【so why???】
原因一:
float转字符型时会丢失精度
select convert(nvarchar(255),convert(float,16918.11))
原因二:
因为float是浮点型,它是一种不精确的数据表示方法,你查询出来显示的数据跟你实际保存在硬盘中的数据,可能有一个小数点后很多位的极小的差额。
比如下面这个等式,原值16918.11-累计折旧16072.2-净值845.91其实是等于零的,但是,在float类型下却是不相等的。
select 1 where convert(float,16918.11)-convert(float,16072.2)-convert(float,845.91)<>0
数据库骚操作之——唯float要避而远之
【概述】最近经常需要将excel中的数据导入的数据库中,float这个数据类型让我没了脾气,遇到float还是避而远之的好。当excel中某一列前面的...
点击下载文档
本文2024-09-16 18:42:34发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-23893.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
- 鼎捷EAI整合規範文件V3.1.07 (集團).pdf
- 鼎捷OpenAPI應用場景說明_基礎資料.pdf
- 鼎捷OpenAPI應用場景說明_財務管理.pdf
- 鼎捷T100 API設計器使用手冊T100 APIDesigner(V1.0).docx
- 鼎新e-GoB2雲端ERP B2 線上課程E6-2應付票據整批郵寄 領取.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程A4使用者建立權限設定.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程C3會計開帳與會計傳票.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程E6-1應付票據.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程A5-1進銷存參數設定(初階篇).pdf
- 鼎新e-GoB2雲端ERP B2 線上課程D2帳款開帳與票據開帳.pdf
热门文章