SQL server:数据类型

本文详细介绍了SQL Server中的数据类型,包括字符数据类型如char、varchar、text和Unicode的nchar、nvarchar、ntext,数字数据类型如bigint、int、decimal、numeric、money等,日期和时间数据类型,二进制数据类型binary、varbinary和image,以及用户自定义数据类型和其它数据类型的概述。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


数据类型是一种属性,用于指定对象可保存的数据的类型:包括整数数据,字符数据,货币数据,日期和时间数据,二进制字符串等。
SQL server的数据类型一共有33种。

日期和时间字符串
Unicode字符串二进制字符串
精确数字近似数字
其他类型

字符数据类型

字符数据库类型一共六种
字符串:char varchar text
Unicode字符串:nchar nvarchar ntext

那么这个n是什么意思呢?N’string’表示这个string是一个Unicode字符串
Unicode支持增强的排序规则。
vchar表示变长字符串 vchar(10) 即定义了一个10个字节长度的字符
vchar(n|max) :n范围是[1,8000] max最大为231-1个字节

数字数据类型

数字数据类型一共是十一种。大致可以分为整数数据类型、decimal和numeric、货币类型、近似数字、bit类型

1.整数数据类型
使用整数数据的精确数字类型。
包括bigint; int; smallint; tinyint

2.decimal和numeric
语法为decimal[(p,[s])]
p表示精度
s表示小数位
且S小于等于P

3.货币类型
货币类型包括money和smallmoney

4.近似数字
近似数字包括float和real这两种数据类型用于表示浮点数值数据的大致数据类型。浮点数据为近似值
5.bit类型
它的取值范围为 1 0或者 NULL的整数类型。

日期和时间数据类型

数据类型格式范围精确度存储大小(以字节为单位)用户定义的秒的小数精度时区偏移量
timehh:mm:ss[.nnnnnnn]00:00:00.0000000 到 23:59:59.9999999100 纳秒3 到 5
dateYYYY-MM-DD0001-01-01 到 9999-12-311 天3
smalldatetimeYYYY-MM-DD hh:mm:ss1900-01-01 到 2079-06-061 分钟4
datetimeYYYY-MM-DD hh:mm:ss[.nnn]1753-01-01 到 9999-12-310.00333 秒8
datetime2YYYY-MM-DD hh:mm:ss[.nnnnnnn]0001-01-01 00:00:00.0000000 到 9999-12-31 23:59:59.9999999100 纳秒6 到 8
datetimeoffsetYYYY-MM-DD hh:mm:ss[.nnnnnnn] [+/-]hh:mm0001-01-01 00:00:00.0000000 到 9999-12-31 23:59:59.9999999(以 UTC 时间表示)100 纳秒8 到 10

二进制数据类型

二进制数据类型用于存储二进制数据,包括binary型、varbinary型和image型【注】推荐使用varbinary(max)。

binary型是固定长度的二进制数据类型,其定义形式为binary(n),其中n表示数据的长度,取值为1~8 000。在使用时应指定binary型数据的大小,默认值为1个字节。binary类型的数据占用n+4个字节的存储空间。在输入数据时必须在数据前加上字符“0X”作为二进制标识。例如:要输入“abc”则应输入“0Xabc”。若输入的数据位数为奇数,则系统会自动在起始符号“0X”的后面添加一个0。如上述输入“0Xabc”后,系统会自动变为“0X0abc”。

varbinary型是可变长度的二进制数据类型,其定义形式为varbinary(n),其中n表示数据的长度,取值为1~8 000。如果输入的数据长度超出n的范围,则系统会自动截掉超出部分。 varbinary型具有变动长度的特性,因为varbinary型数据的存储长度为实际数值长度+4个字节。当binnary型数据允许null值时,将被视为varbinary型的数据。 一般情况下,由于binary型的数据长度固定,因此它比varbinary型的数据处理速度快。

image型的数据也是可变长度的二进制数据,其最大长度为231-1(2 147 483 647)个字节。

用户自定义数据类型

用户自定义数据类型:基于系统数据类型,由数据库管理员生成。
利用系统存储过程定义用户自定义数据类型`
需要包含:
1.数据类型的名称
2.所基于的系统数据类型
3.数据类型的可空性(是否可以为空)。

/*建自定义数据类型*/
create type SSN
from varchar(11) NOT NULL;
/*删除自定义数据类型*/
drop type SSN;

其他数据类型

在这里仅列出名字,以后需要在补充吧

数据类型
cursor
timestamp
uniqueidentifier
hierarchyid
sql_variant
xml
table
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值