当前位置:首页 » 编程语言 » sqlserver基本数据类型
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sqlserver基本数据类型

发布时间: 2023-07-16 14:09:52

sql数据类型有哪些

SQL数据类型有以下这些:

1、二进制数据类型。

二进制数据包括 Binary、Varbinary 和 Image

Binary 数据类型既可以是固定长度的(Binary),也可以是变长度的。

Binary[(n)] 是 n 位固定的二进制数据。其中,n 的取值范围是从 1 到 8000。其存储空间的大小是 n + 4 个字节。

Varbinary[(n)] 是 n 位变长度的二进制数据。其中,n 的取值范围是从 1 到 8000。其存储空间的大小是 n + 4个字节,不是n 个字节。

2、字符数据类型。

字符数据类型包括char、varchar和text。

字符数据是由字母、符号和数字的任意组合组成的数据。

varchar是可变长度字符数据,其长度不超过8kb。char是最大长度为8kb的固定长度字符数据。超过8kb的ASCII数据可以使用文本数据类型存储。

3、Unicode 数据类型。

Unicode数据类型包括nchar、nvarchar和ntext。

在Microsoft SQL Server中,传统的非Unicode数据类型允许使用由特定字符集定义的字符。在安装SQL Server期间,允许选择字符集。

在Unicode标准中,包含由各种字符集定义的所有字符。使用Unicode数据类型占用的空间是使用非Unicode数据类型的两倍。

4、日期和时间数据类型。

日期和时间数据类型包括 Datetime 和 Smalldatetime两种类型。

日期和时间数据类型由有效的日期和时间组成。

例如,有效的日期和时间数据包括“4/01/98 12:15:00:00:00 PM”和“1:28:29:15:01AM 8/17/98”。

前一个数据类型是日期在前,时间在后。后一个数据类型是时间在前,日期在后。

在 Microsoft SQL Server中,日期和时间数据类型包括Datetime 和 Smalldatetime 两种类型时,所存储的日期范围是从 1753 年 1 月 1 日开始,到9999 年12 月 31 日结束(每一个值要求 8 个存储字节)。

5、数字数据类型。

数字数据只包含数字。数字数据类型包括正数和负数、小数(浮点)和整数。

整数由正整数和负整数组成,如39、25、0-2和33967。在Microsoft SQL Server中,存储在整数中的数据类型是int、smallint和tinyint。

int数据类型存储的数据多于smallint数据类型,而smallint数据类型存储的数据多于tinyint数据类型。

使用int数据类型存储数据的范围从-2 147 483 648到2 147 483 647(每个值需要四个字节的存储空间)。

6、货币数据类型。

在 Microsoft SQL Server 中,货币数据的数据类型是Money 和 Smallmoney

Money数据类型要求 8 个存储字节,Smallmoney 数据类型要求 4 个存储字节。

㈡ SQL Server常用数据类型

SQL Server常用数据类型

数据类型是数据的一种属性,是数据所表示信息的类型。下面是我为大家搜索整理了关于SQLServer常用数据类型,欢迎参考阅读,希望对大家有所帮助。

SQLServer2000提供了比较多的数据类型供用户使用,包括字符型数据类型、数值型数据类型、货币型数据类型、日期/时间型数据类型等。

一、字符型数据类型

字符型数据类型是使用最多的数据类型。它可以用来存储各种字母、数字符号、特殊符号。在使用字符类型数据时,必须为其加上单引号。若将数值数据包括在单引号中,将被视为字符类型数据。一般来说,字符型数据类型有两种基本形式:

(一)CHAR定长字符型数据类型

CHAR数据类型的定义形式为CHAR(n),n为长度,n的取值范围为1-8000,共占n个字节。若存储的字符串长度小于n,则系统自动使用空格填补剩余的位置。若存储的字符串长度大于n,那么在执行插入记录语句时将导致执行错误。

(二)VARCHAR变长字符型数据类型

VARCHAR数据类型的定义形式为VARCHAR(n),最大长度为n,n的取值范围为1-8000。VARCHAR数据类型的存储长度为实际字符串的长度,若存储的字符串长度小于n,系统不会使用空格填补剩余的位置。VARCHAR数据类型通常用于存放长度变化较大的字符串,这样可以节约大量的存储空间。但是使用varn)数据类型的缺点是,这种变长的存储方法使得用户无法确切地估计存储数据所使用的空间大小。

二、数值型数据类型

数值型数据类型包括整型数据类型、数字数据类型和浮点数据类型三种。

(一)整型数据类型

整型数据类型只存储整数。整型数据类型包括以下四种:

bigint数据类型

bigint数据类型占8个字节,共64位,能够存储-263~263-1之间的所有正负整数。在64位中,63位用来存储数值,1位用来存储数值的正负。

int数据类型

int数据类型占4个字节,共32位,能够存储-231~231-1之间的所有正负整数。在32位中,31位用来存储数值,1位用来存储数值的正负。

smallint数据类型

smallint数据类型占2个字节,共16位,能够存储-215~215-1之间的所有正负整数。在16位中,15位用来存储数值,1位用来存储数值的正负。

(二)数字数据类型

数字数据类型包括decimal数据类型和numeric数据类型两种,numeric数据类型与decimal数据类型完全相同。decimal数据类型可以提供小数所需要的实际存储空间,decimal数据类型最多可存储38位数字。

decimal数据类型的定义形式为decimal(p,s)。

其中:

p:为指定精度或对象能够控制的数字个数。

s:为指定可放到小数点右边的小数位数或数字个数。

p和s必须遵守以下规则:0<=s<=p<=38。

(三)浮点数据类型

浮点数据类型包括float数据类型和real数据类型,这两种数据类型被称为近似数据类型。

real数据类型

real数据类型占4个字节,共32位,能够存储-3.40E+38~3.40E+38之间所有的浮点数。

float数据类型

float数据类型占8个字节,共64位,能够存储-1.79E+308~1.79E+308之间所有的浮点数。float数据类型可精确到第15位小数。float数据类型可以定义为float(n),n为数据的精度。若n取1到7时,实际上是定义了一个real类型的数据,系统将分配4个字节的.空间存储数据;若n取8到15时,系统认为其是float类型,将分配8个字节的空间存储数据。

三、货币型数据类型

货币型数据类型用于存储货币值。在SQLServer2000中提供两种货币型数据类型:money数据类型和smallmoney数据类型。

(一)money数据类型

money数据类型使用8个字节存储数据,由两部分组成,前面4个字节表示货币值的整数部分,后面4个字节表示货币值的小数部分。

(二)smallmoney数据类型

smallmoney数据类型类似于money类型,使用4个字节存储数据,前面2个字节表示货币值的整数部分,后面2个字节表示货币值的小数部分。

四、日期/时间型数据类型

日期/时间型数据类型用于存储日期和时间的结合体。

(一)datetime数据类型

datetime数据类型可以存储从公元1753年1月1日零时起到公元9999年12月31日23时59分59秒之间的所有日期和时间,其精确度可达三百分之一秒。datetime数据类型占用8个字节的存储空间。

(二)smalldatetime数据类型

smalldatetime数据类型与datetime数据类型相似,但其日期时间范围较小,可以存储从1900年1月1日到2079年6月6日,精度可以达到分钟。smalldatetime数据类型占用4个字节的存储空间。

SQL Server vNext on Linux安装

今天微软正式发布上SQL Server 2016 SP1,根据以往的SP1定律,可以在生产环境上使用了。打了SP1的标准版将具有企业版几乎所有的的功能。只有RAM 超过128GB或者超过24核心或者超过4路的环境才必须要安装企业版。

还有一个重要的发布:SQL Server vNext on Linux。也是本文介绍安装的版本。长话短说,开始安装。

这个版本的SQL Server,官方支持的平台是Red Hat Enterpise 7.2 或者Ubuntu 16.04。但是我手上暂时没有Red Hat,就用CentOS 7.2试试。我是以root身份安装的。

1. 安装

#下载库配置文件curl https://packages.microsoft.com/config/rhel/7/mssql-server.repo > /etc/yum.repos.d/mssql-server.repo#安装sudo yum install -y mssql-server

2. 运行配置文件

#运行SQL Server的配置文件进行配置。#这个过程会要你同意License条款,设置SA密码,设置SQL Server服务开机启动/opt/mssql/bin/sqlservr-setup

3. 检查服务状态

#检查SQL Server的服务状态systemctl status mssql-server

4. 修改防火墙

#修改防火墙,允许1433端口systemctl start firewalldfirewall-cmd --zone=public --add-port=1433/tcp --permanentfirewall-cmd --reload

5. 安装SQL工具,包括sqlcmd和bcp

#下载源的库配置文件curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo#安装toolsyum install mssql-tools

6. 连接测试

# 使用sqlcmd的本地连接。直接在-P参数后填密码或者回车后输入密码。sqlcmd -S . -U SA -p

发现sqlcmd的使用方式和windows下是一样的。返回内容最后有一个根据当前查询的耗时预估的每秒事务处量。

然后建个库,建个表试试。

远程连接。从windows使用sqlcmd,用外网IP连接

使用SSMS连接,我使用是SQL 2014安装时自带SSMS,可能会有一些不支持问题。可以看到Agent没启动的,实际上是这个版本没有Agent。

有意思的是,使用SSMS可以创建库,却不能创建表。从错误信息来看,似乎是不支持图形界面创建表。

总结:

尝鲜性地测试一下,有机会还会测试更多功能。目前不支持Agent,复制和大部分BI功能组件。

很多人对SQL Server On Linux是有所期待。如果它在Linux上的表现与之在以往Windows上的表现一样优秀的话,我相信会有更多人会使用它的。

SQL Server On Linux的更多文档内容:SQL Server on Linux Documentation

;

㈢ 二、数据库与数据表--2、SQLServer的数据类型

(1)文本类型: 字符数据包悉让含任意字母、符号或数字字符的组合

char: 固定长度的非Unicode字符数据,最大长度为8000个字符

varchar: 可变长度的非Unicode数据,最大长度为8000个字符

text: 存储长文本信息,最大长度为2^31-1(2147483647)个字符

nchar: 固定长度的Unicode数据,最大长度为4000个字符

narchar: 可变长度的Unicode数据,最大长度为4000个字符

ntext: 存储长文本信息,最大长度为2^30-1(1073741823)个字符

(Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案,编码数据长度是非编码数据的两倍)

(2)整数类型

bigint: 占用8个字节,可表示范围-2^63~2^63-1之间的整数

int: 占用4个字节

smallint: 占用2个字节

tinint: 占用1个字节,可表示0~255之间的整数

(3)精确数字类型

decimal: -10^38~10^38-1之间固定精度和小数位的数字

numeric(常用): 功能等同于旦饥decimal

写法:

decimal(整数,小数)和numeric(整数,小数)——若不指定位数,默认18位整数,0位小数:

(4)近似数字(浮点)类型(很少用,可以用numeric替代)

float[(n)]: 表示范围-1.79E+308~1.79E+308

n 表示精度,在1-53之间取值,当n在1~24之间时,精度为7位有效数字,占用4个字节;当n在25~53之间时,精度为15位有效数字,占8个字节。

real: 表示范围-3.40E+38~3.40E+38占用4个字节,相当于float(24)

(5)日期类型

datetime: 允许范围1753-1-1至9999-1-1

smalldatetime(常用): 允许范围1900-1-1至2079-6-6

时间精度不同: datetime精确到3%秒;smalldatetime精确到1分钟

格式说明:

分隔符数字方式: 2013-08-20 或 08/20/2013

纯数字方式: 08202013

英文数字类型: Aug 20,2013

注意问题: 日期在使用的时候需要使用单引号'     ' 括起来

(6)货币类型

money: 货币数值介于-2^63与2^63-1之间,精确到货币单位的千分之一

smallmoney: 货币数据介于-214748.3648与214748.3648之间,精确到货币单位的千分之十

(7)位类型

bit: 表示“是/否”类型的数据(1/0,true/false)

(8)二进制类型

binary: 固定长度的二进制数据,最大8000个字节

vbinary: 可变长度的二进制数据,最大8000个字节

image: 可变长度的模陆返二进制数据,最大长度2^31个字节—— 应用场合: 可存储图片

㈣ sqlserver的数据类型

sqlserver的数据类型比较多,常用的包括:
第一大类:整数数据
bit:bit数据类型代表0,1或NULL,就是表示true,false.占用1byte.
int:以4个字节来存储正负数.可存储范围为:-2^31至2^31-1.
smallint:以2个字节来存储正负数.存储范围为:-2^15至2^15-1
tinyint: 是最小的整数类型,仅用1字节,范围:0至此^8-1
第二大类:精确数值数据
numeric:表示的数字可以达到38位,存储数据时所用的字节数目会随着使用权用位数的多少变化.
decimal:和numeric差不多
第三大类:近似浮点数值数据
float:用8个字节来存储数据.最多可为53位.范围为:-1.79E+308至1.79E+308.
real:位数为24,用4个字节,数字范围:-3.04E+38至3.04E+38
第四大类:日期时间数据
datatime:表示时间范围可以表示从1753/1/1至9999/12/31,时间可以表示到3.33/1000秒.使用8个字节.
smalldatetime:表示时间范围可以表示从1900/1/1至2079/12/31.使用4个字节.
第五大类:字符串数据
char:长度是设定的,最短为1字节,最长为8000个字节.不足的长度会用空白补上.
varchar:长度也是设定的,最短为1字节,最长为8000个字节,尾部的空白会去掉.
text:长宽也是设定的,最长可以存放2G的数据.
第六大类:Unincode字符串数据
nchar:长度是设定的,最短为1字节,最长为4000个字节.不足的长度会用空白补上.储存一个字符需要2个字节.
nvarchar:长度是设定的,最短为1字节,最长为4000个字节.尾部的空白会去掉.储存一个字符需要2个字节.
ntext:长度是设定的,最短为1字节,最长为2G.尾部的空白会去掉,储存一个字符需要2个字节.
第七大类:货币数据类型
money:记录金额范围为:-92233720368577.5808至92233720368577.5807.需要8 个字节.
smallmoney:记录金额范围为:-214748.3648至214748.36487.需要4个字节.
第八大类:标记数据
timestamp:该数据类型在每一个表中是唯一的!当表中的一个记录更改时,该记录的timestamp字段会自动更新.
uniqueidentifier:用于识别数据库里面许多个表的唯一一个记录.
第九大类:二进制码字符串数据
binary:固定长度的二进制码字符串字段,最短为1,最长为8000.
varbinary:与binary差异为数据尾部是00时,varbinary会将其去掉
image:为可变长度的二进制码字符串,最长2G.

㈤ sql server 常用的几个数据类型

Sql
server中常用的几个数据类型:
binary
固定长度的二进制数据,其最大长度为
8,000
个字节。
varbinary
可变长度的二进制数据,其最大长度为
8,000
个字节。
image
可变长度的二进制数据,其最大长度为
2G+
-
1
(2,147,483,647)
个字节
text
服务器代码页中的可变长度非
Unicode
数据的最大长度为
2G+
(2,147,483,647)
个字符。当服务器代码页使用双字节字符时,存储量仍是
2,147,483,647
字节。存储大小可能小于
2,147,483,647
字节(取决于字符串)。
image
可变长度二进制数据介于
0

2G+
(2,147,483,647)
字节之间
--binary

varbinary
固定长度
(binary)
的或可变长度
(varbinary)

binary
数据类型。
binary
[
(
n
)
]
固定长度的
n
个字节二进制数据。N
必须从
1

8,000。存储空间大小为
n+4
字节。
varbinary
[
(
n
)
]
n
个字节变长二进制数据。n
必须从
1

8,000。存储空间大小为实际输入数据长度
+4
个字节,而不是
n
个字节。输入的数据长度可能为
0
字节。在
SQL-92

varbinary
的同义词为
binary
varying。
注释
1.
如果在数据定义或变量声明语句中没有指定
n,默认长度为
1。如果没有用
CAST
函数指定
n,默认长度为
30。
2.
当列数据项大小一致时应使用
binary。
3.
当列数据项大小不一致时应使用
varbinary