SQL 数据库 数据类型 固定长度的字符串怎么定义

SQL 数据库 数据类型 固定长度的字符串怎么定义,第1张

数据类型

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,4775808)

2^63

-

1

(+922,337,203,685,4775807)

之间,精确到货币单位的千分之十。

smallmoney

货币数据值介于

-214,7483648

+214,7483647

之间,精确到货币单位的千分之十。

近似数字

float

-179E

+

308

179E

+

308

的浮点精度数字。

real

-340E

+

38

340E

+

38

的浮点精度数字。

datetime

smalldatetime

datetime

1753

1

1

日到

9999

12

31

日的日期和时间数据,精确到百分之三秒(或

333

毫秒)。

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

数据

可以设置的

MySQL有几种数据类型可以限制类型的"长度",有CHAR(Length)、VARCHAR(Length)、TINYINT(Length)、SMALLINT(Length)、MEDIUMINT(Length)、INT(Length)、BIGINT(Length)、FLOAT(Length, Decimals)、DOUBLE(Length, Decimals)和DECIMAL(Length, Decimals)。

然而,这些数据类型的长度,并不是都指数据的大小。具体说就是:

(1)CHAR、VARCAHR的长度是指字符的长度,例如CHAR[3]则只能放字符串"123",如果插入数据"1234",则从高位截取,变为"123"。 VARCAHR同理。

(2)TINYINT、SMALLINT、MEDIUMINT、INT和BIGINT的长度,其实和数据的大小无关!Length指的是显示宽度,举个例子:

区别:

length求得是字符长度

lengthb求得是字节长度。

用法(下面例子中第一个是4个字符长度,第二个例子中是8个字节):

SQL> select length('新春快乐') from dual;

LENGTH('新春快乐')

------------------

4

SQL> select lengthb('新春快乐') from dual;

LENGTHB('新春快乐')

-------------------

8

提示:不懂的一定要理解好

以上就是关于SQL 数据库 数据类型 固定长度的字符串怎么定义全部的内容,包括:SQL 数据库 数据类型 固定长度的字符串怎么定义、mysql能设置数据类型长度吗、请说明length函数与lengthb的区别等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9410841.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存