扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
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 /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 /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
;
一、
整数数据类型
整数数据类型是最常用的数据类型之一。
1、int
(integer)
2、smallint
3、tinyint
4、bigint
二、
浮点数据类型
浮点数据类型用于存储十进制小数。浮点数值的数据在sql
server
中采用上舍入(round
up
或称为只入不舍)方式进行存储。所谓上舍入是指,当(且仅当)要舍入的数是一个非零数时,对其保留数字部分的最低有效位上的数值加1
,并进行必要的进位。若一个数是上舍入数,其绝对值不会减少。如:对3.14159265358979
分别进行2
位和12位舍入,结果为3.15
和3.141592653590。
1、real
数据类型
2、float
3、decimal
4、numeric
三、二进制数据类型
1、binary
2、varbinary
四、
逻辑数据类型
bit:
bit数据类型占用1
个字节的存储空间,其值为0
或1
。如果输入0
或1
以外的值,将被视为1。
bit
类型不能定义为null
值(所谓null
值是指空值或无意义的值)。
五、字符数据类型
字符数据类型是使用最多的数据类型。它可以用来存储各种字母、数字符号、特殊符号。一般情况下,使用字符类型数据时须在其前后加上单引号’或双引号”
。
1
char
2、nchar
3、varchar
4、nvarchar
六、文本和图形数据类型
这类数据类型用于存储大量的字符或二进制数据。
1、text
2
ntext
3
image
七、
日期和时间数据类型
1
datetime
2
smalldatetime
八、货币数据类型
1
money
2
smallmoney
smallmoney数据类型类似于money
类型,但其存储的货币值范围比money数据类型小,其取值从-214,748.3648到+214,748.3647,存储空间为4
个字节。
九、
特定数据类型
sql
server
中包含了一些用于数据存储的特殊数据类型。
1
timestamp
十、用户自定义数据类型
sysname
sysname
数据类型是系统提供给用户的,便于用户自定义数据类型。它被定义为nvarchar(128),即它可存储128个unicode字符或256个一般字符。其具体使用方法请参见第7章“管理数据库表”中的“自定义数据类型”章节。
十一、
新数据类型
sql
server
2000
中增加了3
种数据类型:bigint、sql_variant和table。其中bigint数据类型已在整数类型中介绍,下面介绍其余两种:
1
sql_variant
sql_variant数据类型可以存储除文本、图形数据(text、ntext、image)和timestamp类型数据外的其它任何合法的sql
server数据。此数据类型大大方便了sql
server的开发工作。
2
table
table
数据类型用于存储对表或视图处理后的结果集。这一新类型使得变量可以存储一个表,从而使函数或过程返回查询结果更加方便快、捷其、使用请参见第13章“游标、视图和自定义函数”。
(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个字节—— 应用场合: 可存储图片
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流