
SQL 数据库 数据类型 固定长度的字符串怎么定义
3个回答
展开全部
数据类型
在
Microsoft®
SQL
Server™
中,每个列、局部变量、表达式和参数都有一个相关的数据类型,这是指定对象可持有的数据类型(整型、字符、money
等等)的特性。SQL
Server
提供系统数据类型集,定义了可与
SQL
Server
一起使用的所有数据类型。下面列出系统提供的数据类型集。
可以定义用户定义的数据类型,其是系统提供的数据类型的别名。有关用户定义的数据类型的更多信息,请参见
sp_addtype
和创建用户定义的数据类型。
当两个具有不同数据类型、排序规则、精度、小数位数或长度的表达式通过运算符进行组合时:
通过将数据类型的优先顺序规则应用到输入表达式的数据类型来确定所得值的数据类型。有关更多信息,请参见数据类型的优先顺序。
如果结果数据类型为
char、varchar、text、nchar、nvarchar
或
ntext,则结果值的排序规则由排序规则的优先顺序规则决定。有关更多信息,请参见排序规则的优先顺序。
结果的精度、小数位数及长度取决于输入表达式的精度、小数位数及长度。有关更多信息,请参见精度、小数位数和长度。
SQL
Server
为
SQL-92
兼容性提供了数据类型同义词。有关更多信息,请参见数据类型同义词。
精确数字
整数
bigint
从
-2^63
(-9223372036854775808)
到
2^63-1
(9223372036854775807)
的整型数据(所有数字)。
int
从
-2^31
(-2,147,483,648)
到
2^31
-
1
(2,147,483,647)
的整型数据(所有数字)。
smallint
从
-2^15
(-32,768)
到
2^15
-
1
(32,767)
的整数数据。
tinyint
从
0
到
255
的整数数据。
bit
bit
1
或
0
的整数数据。
decimal
和
numeric
decimal
从
-10^38
+1
到
10^38
–1
的固定精度和小数位的数字数据。
numeric
功能上等同于
decimal。
money
和
smallmoney
money
货币数据值介于
-2^63
(-922,337,203,685,477.5808)
与
2^63
-
1
(+922,337,203,685,477.5807)
之间,精确到货币单位的千分之十。
smallmoney
货币数据值介于
-214,748.3648
与
+214,748.3647
之间,精确到货币单位的千分之十。
近似数字
float
从
-1.79E
+
308
到
1.79E
+
308
的浮点精度数字。
real
从
-3.40E
+
38
到
3.40E
+
38
的浮点精度数字。
datetime
和
smalldatetime
datetime
从
1753
年
1
月
1
日到
9999
年
12
月
31
日的日期和时间数据,精确到百分之三秒(或
3.33
毫秒)。
smalldatetime
从
1900
年
1
月
1
日到
2079
年
6
月
6
日的日期和时间数据,精确到分钟。
字符串
char
固定长度的非
Unicode
字符数据,最大长度为
8,000
个字符。
varchar
可变长度的非
Unicode
数据,最长为
8,000
个字符。
text
可变长度的非
Unicode
数据,最大长度为
2^31
-
1
(2,147,483,647)
个字符。
Unicode
字符串
nchar
固定长度的
Unicode
数据,最大长度为
4,000
个字符。
nvarchar
可变长度
Unicode
数据,其最大长度为
4,000
字符。sysname
是系统提供用户定义的数据类型,在功能上等同于
nvarchar(128),用于引用数据库对象名。
ntext
可变长度
Unicode
数据,其最大长度为
2^30
-
1
(1,073,741,823)
个字符。
二进制字符串
binary
固定长度的二进制数据,其最大长度为
8,000
个字节。
varbinary
可变长度的二进制数据,其最大长度为
8,000
个字节。
image
可变长度的二进制数据,其最大长度为
2^31
-
1
(2,147,483,647)
个字节。
其它数据类型
cursor
游标的引用。
sql_variant
一种存储
SQL
Server
支持的各种数据类型(text、ntext、timestamp
和
sql_variant
除外)值的数据类型。
table
一种特殊的数据类型,存储供以后处理的结果集。
timestamp
数据库范围的唯一数字,每次更新行时也进行更新。
uniqueidentifier
全局唯一标识符
(GUID)。
请参见
CREATE
PROCEDURE
CREATE
TABLE
DECLARE
@local_variable
EXECUTE
表达式
函数
LIKE
SET
sp_bindefault
sp_bindrule
sp_droptype
sp_help
sp_rename
sp_unbindefault
sp_unbindrule
使用
Unicode
数据
在
Microsoft®
SQL
Server™
中,每个列、局部变量、表达式和参数都有一个相关的数据类型,这是指定对象可持有的数据类型(整型、字符、money
等等)的特性。SQL
Server
提供系统数据类型集,定义了可与
SQL
Server
一起使用的所有数据类型。下面列出系统提供的数据类型集。
可以定义用户定义的数据类型,其是系统提供的数据类型的别名。有关用户定义的数据类型的更多信息,请参见
sp_addtype
和创建用户定义的数据类型。
当两个具有不同数据类型、排序规则、精度、小数位数或长度的表达式通过运算符进行组合时:
通过将数据类型的优先顺序规则应用到输入表达式的数据类型来确定所得值的数据类型。有关更多信息,请参见数据类型的优先顺序。
如果结果数据类型为
char、varchar、text、nchar、nvarchar
或
ntext,则结果值的排序规则由排序规则的优先顺序规则决定。有关更多信息,请参见排序规则的优先顺序。
结果的精度、小数位数及长度取决于输入表达式的精度、小数位数及长度。有关更多信息,请参见精度、小数位数和长度。
SQL
Server
为
SQL-92
兼容性提供了数据类型同义词。有关更多信息,请参见数据类型同义词。
精确数字
整数
bigint
从
-2^63
(-9223372036854775808)
到
2^63-1
(9223372036854775807)
的整型数据(所有数字)。
int
从
-2^31
(-2,147,483,648)
到
2^31
-
1
(2,147,483,647)
的整型数据(所有数字)。
smallint
从
-2^15
(-32,768)
到
2^15
-
1
(32,767)
的整数数据。
tinyint
从
0
到
255
的整数数据。
bit
bit
1
或
0
的整数数据。
decimal
和
numeric
decimal
从
-10^38
+1
到
10^38
–1
的固定精度和小数位的数字数据。
numeric
功能上等同于
decimal。
money
和
smallmoney
money
货币数据值介于
-2^63
(-922,337,203,685,477.5808)
与
2^63
-
1
(+922,337,203,685,477.5807)
之间,精确到货币单位的千分之十。
smallmoney
货币数据值介于
-214,748.3648
与
+214,748.3647
之间,精确到货币单位的千分之十。
近似数字
float
从
-1.79E
+
308
到
1.79E
+
308
的浮点精度数字。
real
从
-3.40E
+
38
到
3.40E
+
38
的浮点精度数字。
datetime
和
smalldatetime
datetime
从
1753
年
1
月
1
日到
9999
年
12
月
31
日的日期和时间数据,精确到百分之三秒(或
3.33
毫秒)。
smalldatetime
从
1900
年
1
月
1
日到
2079
年
6
月
6
日的日期和时间数据,精确到分钟。
字符串
char
固定长度的非
Unicode
字符数据,最大长度为
8,000
个字符。
varchar
可变长度的非
Unicode
数据,最长为
8,000
个字符。
text
可变长度的非
Unicode
数据,最大长度为
2^31
-
1
(2,147,483,647)
个字符。
Unicode
字符串
nchar
固定长度的
Unicode
数据,最大长度为
4,000
个字符。
nvarchar
可变长度
Unicode
数据,其最大长度为
4,000
字符。sysname
是系统提供用户定义的数据类型,在功能上等同于
nvarchar(128),用于引用数据库对象名。
ntext
可变长度
Unicode
数据,其最大长度为
2^30
-
1
(1,073,741,823)
个字符。
二进制字符串
binary
固定长度的二进制数据,其最大长度为
8,000
个字节。
varbinary
可变长度的二进制数据,其最大长度为
8,000
个字节。
image
可变长度的二进制数据,其最大长度为
2^31
-
1
(2,147,483,647)
个字节。
其它数据类型
cursor
游标的引用。
sql_variant
一种存储
SQL
Server
支持的各种数据类型(text、ntext、timestamp
和
sql_variant
除外)值的数据类型。
table
一种特殊的数据类型,存储供以后处理的结果集。
timestamp
数据库范围的唯一数字,每次更新行时也进行更新。
uniqueidentifier
全局唯一标识符
(GUID)。
请参见
CREATE
PROCEDURE
CREATE
TABLE
DECLARE
@local_variable
EXECUTE
表达式
函数
LIKE
SET
sp_bindefault
sp_bindrule
sp_droptype
sp_help
sp_rename
sp_unbindefault
sp_unbindrule
使用
Unicode
数据
展开全部
别听别人瞎说,这就是varchar和char的区别
当定义了char的长度后如果长度不够则会自动用空字符补全,而varchar则没事
如果是18位的你查询的时候用你的18位加一个空格就能查出来了,不过一般用char类型的,长度都是固定的,毕竟补全空格比较麻烦,所以数据类型要谨慎使用
当定义了char的长度后如果长度不够则会自动用空字符补全,而varchar则没事
如果是18位的你查询的时候用你的18位加一个空格就能查出来了,不过一般用char类型的,长度都是固定的,毕竟补全空格比较麻烦,所以数据类型要谨慎使用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在创建这个学号的字段时,增加约束就行啊。
举例:
create
table
表名(学号列
number(5)
check
(length(学号列)=5));
insert
into
表名(学号列)
values(222);
失败
insert
into
表名(学号列)
values(12345);
成功
学号列
12345
举例:
create
table
表名(学号列
number(5)
check
(length(学号列)=5));
insert
into
表名(学号列)
values(222);
失败
insert
into
表名(学号列)
values(12345);
成功
学号列
12345
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询