前言:
此时同学们对“sql server的二进制数据类型主要用来存储哪些对象”可能比较看重,各位老铁们都需要了解一些“sql server的二进制数据类型主要用来存储哪些对象”的相关文章。那么小编在网上收集了一些有关“sql server的二进制数据类型主要用来存储哪些对象””的相关资讯,希望姐妹们能喜欢,各位老铁们一起来学习一下吧!SQL Server 数据库常见的数据类型分类:二进制数据类型:Bit、 Binary、Varbinary 和 Image字符数据类型: Char,Varchar 和 Text 、Nchar,Nvarchar 和Ntext日期和时间数据类型: Datetime 和 Smalldatetime货币数据的数据类型是Money 和 Smallmoney数字数据类型:Int,Smallint和 Tinyint;Decimal 和 Numeric;Float 和 Real;特殊的数据类型有3种,即 Timestamp、Bit 和 Uniqueidentifier。
Binary类型和char类型 请参见 :SQL Server 数据类型的详细介绍及应用实例1
接下来我们详细介绍一下datetime类型和money类型。
Datetime类型:Datetime和Smalldatetime.
**均为表示时间和日期,差异在精度和储存空间上。
有效的时间和日期:
表示方式:
1.时间在前,日期再后:"12:12:00.000 AM 9/25/2018"
2.日期在前,时间再后:"9/25/2018 11:11:11.000 PM"
DateTime和 Smalldatetime 的区别:
1.时间储存范围:
datetime 1753 年 1 月 1 日----- 9999 年 12 月 31 日
smalldatetime 1900 年 1 月 1 日------2079 年 06 月 06 日
2.储存方式及大小:
DateTime占8个字节,前4个字节储存1900 年 1 月 1 日之前或之后的天数,后 4 字节储存时间,且以午夜后经过的 1/300 秒数表示。
Smalldatetime 占4个字节,前2个字节存储 1900 年 1 月 1 日后的天数。后 2 个字节存储午夜后经过的分钟数。
3.时间精度:Smalldatetime精度比Datetime 精度差。
DateTime 1/300 s 即 3.33 毫秒
Smalldatetime 1 min
4.精度取舍点:
DateTime 的精度舍入点为:【 01.000s 、00.007s 、00.003s 、 00.000s】
.000s【.000-.001】 取.000s
--Returns time as 11:11:00.000.SELECT CAST('2018-09-25 11:11:00.991' AS datetime);SELECT CAST('2018-09-25 11:11:00.990' AS datetime);GO
.003s【.002-.004】 取.003s
--Returns time as 11:11:00.993.SELECT CAST('2018-09-25 11:11:00.994' AS datetime);SELECT CAST('2018-09-25 11:11:00.993' AS datetime);SELECT CAST('2018-09-25 11:11:00.992' AS datetime);
.007s【.005-.008】 取.007s
--Returns time as 11:11:00.997.SELECT CAST('2018-09-25 11:11:00.998' AS datetime);SELECT CAST('2018-09-25 11:11:00.997' AS datetime);SELECT CAST('2018-09-25 11:11:00.996' AS datetime);SELECT CAST('2018-09-25 11:11:00.995' AS datetime);
01.000s 【.009】 进一
--Returns time as 11:11:01.000.SELECT CAST('2018-09-25 11:11:00.999' AS datetime);
Smalldatetime 的精度舍入点为:
<=01:29.998 min 取 01:00.000 min
>=01 : 29.999 min 取 02:00.000 min
<=01:29.998 min 取 01:00.000 min
--Return time as 11:11:00.select CAST('2018-9-25 11:11:29.998' as smalldatetime);
>=01 : 29.999 min 取 02:00.000 min
--Return time as 11:12:00.select CAST('2018-9-25 11:11:29.999' as smalldatetime);Money类型: money 和smallmoney
Money和Smallmoney共同点:
1.都是用来表示钱或者货币值。
2.精确单位都是: 货币单位的万分之一。
Money和Smallmoney不同点:
1. 储存占用不同:
Money类型占用8个字节,取值范围长度为:15位.4位 【整数15位,小数4位】
即介于 -922,337,203,685,477.5808 和 922,337,203,685,477.5807 之间的货币数据。
Smallmoney类型占用4个字节,取值范围长度为:6位.4位 【整数6位,小数4位】
即介于 -214,748.3648 和 214,748.3647 之间的货币数据。
select CAST('-922,337,203,685,477.5808 ' as money);select CAST('922,337,203,685,477.5807' as money);select CAST('-214,748.3648 ' as smallmoney);select CAST('214,748.3647' as smallmoney);
Money 类型和 float类型的联系:
float 数据类型是一种近似数值类型,供浮点数使用, 浮点数可以是从-1.79E+308到1.79E+308 之间的任意数。float类型就是money类型一样的数据类型,但是小数点后能保留12位。
select CAST('748.361242413121242' as float);
本文部分内容来自网络,如有侵权,请联系修改。