在SQLServer2012版本中一共提供了25种系统数据类型,整理归纳如下:
| bigint | - |
| int | - |
| samllint | - |
| tinyint | 0~255范围内的所有整数 |
| real | 范围:-3.40X |
| float[(n)] | 其中n用于存储float数值尾数的尾数,可以确定精度和存储大小,如果指定了n,则他必须介于1-53之间的某个值,n默认值为53 |
| decimal[p[,s]] |
- p(精度)指定了最多可以存储的十进制数字的总位数,包括小数点左边和右边的位数。该精度必须在1到38之间的值,默认值是18。 s(小数位数)指小数点右边可以存储的十进制数字的最大位数。 decimal(10,4) 表示共有10位数,其中整数6位,小数4位。 |
| numeric[p[,s]] |
- p(精度)指定了最多可以存储的十进制数字的总位数,包括小数点左边和右边的位数。该精度必须在1到38之间的值,默认值是18。 s(小数位数)指小数点右边可以存储的十进制数字的最大位数。 numeric(10,4) 表示共有10位数,其中整数6位,小数4位。 |
| char(n) |
n 取值范围1~8000. 若不指定n值,系统默认n的值为1.。 若输入的数据的字符串长度小于n,则系统自动在其后添加空格来填满设定好的空间。 若输入的数据的字符串长度大于n,将会截掉其超出的部分。 |
| varchar(n|max) |
n取值范围1-8000,但是可以根据实际存储的字符改变存储空间。 max 指示最大的存储大小是 |
| nchar(n) |
取值范围:1~4000 按照Unicode字符数据存储。 可将全世界文字囊括在内。 |
| nvarchar(n|max) |
n取值范围1-4000,但是可以根据实际存储的字符改变存储空间。 max 指示最大的存储大小是 |
| date |
0000-01-01~9999-12-31之间的任意日期。数据格式YYYY-MM-DD YYYY 表示年份 比如2020 MM 表示月份 比如06 DD指定月份某一天的 比如27 该类型占据3个字节的空间 |
| time |
00:00:00.0000000~23:59:59.9999999,数据格式hh:mm:ss[.nnnnnnn] hh 表示小时0~23 mm 表示分钟0~59 ss 表示秒的两位数 0~59 n* 是0~7位数字,范围0~9999999,它表示秒的小数部分。 time值存储是占5个字节的空间。 |
| datetime |
用于存储时间和日期的数据。 从1753年1月1日到9999年12月31日,默认值1900-01-01 00:00:00 占用8字节空间。 |
| datetime2 |
datetime的扩展,数据范围更大,默认小数精度更高,并有可选的用户定义的精度,格式:YYYY-MM-DD hh:mm:ss[.fractional serconds] 范围:0001-01-01 ~9999-12-31 |
| smalldatetime |
与datetime相似 取值范围:1900-01-01 ~2079-06-06 占用4字节的空间 |
| datetimeoffset |
用于定义一个采用24小时制与日期组合并可识别时区的一日内时间 默认格式:YYYY-MM-DD hh:mm:ss[.nnnnnnn][{+|-}hh:mm] hh -14~+14 时区偏移量 mm 0~59 例如要存储北京时间2020-06-27 12点整,存储2020-06-27 12:00:00+08:00 占用10字节空间 |
| text |
用于存储文本数据,服务器代码页中长度可变的非Unicode数据,最大长度 当服务器代码页使用双字节字符时,存储仍为2147483647 |
| ntext | ntext与text类型作用相同,为长度可变的Unicode数据,最大长度 |
| image | imgage 是长度可变的二进制数据,从0~ |
| money |
取值范围:-922337213685477.5808~922337213685477.5808 money数据类型中整数部分包含19个数字,小数部门含4个数字,应为money数据类型精度是19, 存储占用8字节的存储空间。 |
| smallmonry |
取值范围:-214748.3468~214748.3468 占用4字节存储空间 |
| bit | 只取0或1的值,长度为1字节,输入非零值系统将其转换为 |
| binary(n) |
长度为n字节固定长度二进制数据,其中n取值1~8000 存储大小为n字节,再输入binary值时,前面带0x,可以使用使用0~9和A~F表示二进制,例如0xAA5代表AA5. |
| varbinary(n|max) | 可变长度二进制数据,n取值0~8000之间的值,max指示最大存储大小为 |
| rowversion | 每个数据库都有一个计数器,当对数据库中包含rowversion列的表执行插入或者更新操作是,该计数器值就会增加。此计数器是数据库行版本。一个表只有一个rowversion列。 |
| timestamp | 时间戳数据类型,timestamp的数据类型诶rowversion数据类型同义词,提供数据库范围内的唯一值,反应数据修改的相对顺序,是一个单调上升的计数器,此列的值被自动更新。 |
| uniqueidentifier | 16字节GUID |
| cursor | 游标数据类型 |
| sql_variant | 用于存储文本、图形数据和timestamp数据外的其他任何合法的SqlServer数据 |
| table | 用于存储对表或者视图处理后的结果集。 |
| XML | 用于存储XML数据,存储大小不能超过2GB |
本文全面解析了SQLServer2012中25种系统数据类型的特性和应用,涵盖整数、浮点、字符、日期时间、文本图像、货币、位和其他特殊数据类型,是数据库设计和开发的重要参考资料。

461

被折叠的 条评论
为什么被折叠?



