栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

SQL Server中的数字,浮点数和小数之间的差异

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SQL Server中的数字,浮点数和小数之间的差异

仅当十进制(最多38位)提供的精度不足时才使用浮点或实数数据类型

近似数字数据类型不能存储为许多数字指定的确切值;他们存储的值非常接近。(Technet)

避免在WHERe子句搜索条件中使用浮点或实数列,尤其是=和<>运算符(Technet)

因此通常来说,因为如果您的数字可以容纳,则十进制提供的精度为[10E38〜38位数],并且较小的Float存储空间(可能还有速度)并不重要,并且处理异常行为和近似数值类型的问题也不重要可以接受,一般使用Decimal。

更有用的信息

  • 数字=十进制(5到17个字节)(精确的数字数据类型)
  • 将在.NET中映射为Decimal
  • 在SQL Server中都具有(18,0)作为默认(precision,scale)参数
  • scale =可以存储在小数点右边的最大小数位数。
  • 请注意,money(8字节)和smallmoney(4字节)也是精确的,它们映射到.NET中的Decimal并具有4个小数点(MSDN)
  • 十进制和数字(Transact-SQL)-MSDN
  • 实数(4字节)(近似 数值数据类型)
  • 将在.NET中映射为Single
  • ISO的real同义词是float(24)
  • 浮点数和实数(Transact-SQL)-MSDN
  • 浮点数(8字节)(近似 数值数据类型)
  • 将在.NET中映射为Double
  • 无论使用哪种类型的处理器体系结构或数字的大小,所有精确的数字类型都始终产生相同的结果。
  • 提供给float数据类型的参数定义了用于存储浮点数尾数的位数。
  • 近似数值数据类型通常使用较少的存储空间并具有较好的速度(最高20倍),并且您还应考虑在.NET中* 转换它们的时间


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/670152.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号