当前位置:文档之家› SQLServer数据类型介绍

SQLServer数据类型介绍

SQLServer数据类型介绍
SQLServer数据类型介绍

在计算机中数据有两种特征:类型和长度。所谓数据类型就是以数据的表现方式和存储方式来划分的数据的种类。

在SQL Server 中每个变量、参数、表达式等都有数据类型。系统提供的数据类型分为几大类,如表4-2 所示。

其中,BIGINT、SQL_V ARIANT 和TABLE 是SQL Server 2000 中新增加的3 种数据类型。下面分类讲述各种数据类型。

一、整数数据类型

整数数据类型是最常用的数据类型之一。

1、INT (INTEGER)

INT (或INTEGER)数据类型存储从-2的31次方(-2 ,147 ,483 ,648)到2的31次方-1 (2 ,147 ,483,647)之间的所有正负整数。每个INT 类型的数据按4 个字节存储,其中1 位表示整数值的正负号,其它31 位表示整数值的长度和大小。

2、SMALLINT

SMALLINT 数据类型存储从-2的15次方(-32,768)到2的15次方-1(32 ,767 )之间的所有正负整数。每个SMALLINT 类型的数据占用2 个字节的存储空间,其中1 位表示整数值的正负号,其它15 位表示整数值的长度和大小。

3、TINYINT

TINYINT数据类型存储从0 到255 之间的所有正整数。每个TINYINT类型的数据占用1 个字节的存储空间。

4、BIGINT

BIGINT 数据类型存储从-2^63 (-9 ,223,372,036,854,775,807)到2^63-1(9,223,372,036 ,854 ,775,807)之间的所有正负整数。每个BIGINT 类型的数据占用8个字节的存储空间。

二、浮点数据类型

浮点数据类型用于存储十进制小数。浮点数值的数据在SQL Server 中采用上舍入(Round up 或称为只入不舍)方式进行存储。所谓上舍入是指,当(且仅当)要舍入的数是一个非零数时,对其保留数字部分的最低有效位上的数值加 1 ,并进行必要的进位。若一个数是上舍入数,其绝对值不会减少。如:对3.14159265358979 分别进行2 位和12位舍入,结果为3.15 和3.141592653590。

1、REAL 数据类型

REAL数据类型可精确到第7 位小数,其范围为从-3.40E -38 到3.40E +38。每个REAL类型的数据占用4 个字节的存储空间。

2、FLOAT

FLOAT 数据类型可精确到第15 位小数,其范围为从-1.79E -308 到1.79E +308。每个FLOAT 类型的数据占用8 个字节的存储空间。FLOAT数据类型可写为FLOAT[ n ]的形式。n 指定FLOAT 数据的精度。n 为1到15 之间的整数值。当n 取1 到7 时,实际上是定义了一个REAL 类型的数据,系统用4 个字节存储它;当n 取8 到15 时,系统认为其是FLOAT 类型,用8 个字节存储它。

3、DECIMAL

DECIMAL数据类型可以提供小数所需要的实际存储空间,但也有一定的限制,您可以用2 到17 个字节来存储从-10的38次方-1 到10的38次方-1 之间的数值。可将其写为

DECIMAL[ p [s] ]的形式,p 和s 确定了精确的比例和数位。其中p 表示可供存储的值的总位数(不包括小数点),缺省值为18;s 表示小数点后的位数,缺省值为0。例如:decimal (15 5),表示共有15 位数,其中整数10 位,小数5。位表4-3 列出了各精确度所需的字节数之间的关系。

4、NUMERIC

NUMERIC数据类型与DECIMAL数据类型完全相同。

注意:SQL Server 为了和前端的开发工具配合,其所支持的数据精度默认最大为28位。但可以通过使用命令来执行sqlserver.exe程序以启动SQL Server,可改变默认精度。命令语法如下:SQLSERVR[/D master_device_path][/P precisim_leve1]

例4-4: 用最大数据精度38 启动SQL Server

sqlservr /d c:\ Mssql2000\data\master.dat /p38

/*在使用了/P 参数后,如果其后没有指定具体的精度数值,则默认为38 位./*

三、二进制数据类型

1、BINARY

BINARY 数据类型用于存储二进制数据。其定义形式为BINARY(n),n 表示数据的长度,取值为1 到8000 。在使用时必须指定BINARY 类型数据的大小,至少应为1 个字节。BINARY 类型数据占用n+4 个字节的存储空间。在输入数据时必须在数据前加上字符“0X”作为二进制标识,如:要输入“abc ”则应输入“0xabc ”。若输入的数据过长将会截掉其超出部分。若输入的数据位数为奇数,则会在起始符号“0X ”后添加一个0,如上述的“0xabc ”会被系统自动变为“0x0abc”。

2、V ARBINARY

V ARBINARY 数据类型的定义形式为V ARBINARY(n)。它与BINARY 类型相似,n 的取值也为1 到8000,若输入的数据过长,将会截掉其超出部分。不同的是V ARBINARY数据类型具有变动长度的特性,因为V ARBINARY数据类型的存储长度为实际数值长度+4个字节。当BINARY数据类型允许NULL 值时,将被视为V ARBINARY数据类型。

一般情况下,由于BINARY 数据类型长度固定,因此它比V ARBINARY 类型的处理速度快。

四、逻辑数据类型

BIT:BIT数据类型占用1 个字节的存储空间,其值为0 或1 。如果输入0 或1 以外的值,将被视为1。BIT 类型不能定义为NULL 值(所谓NULL 值是指空值或无意义的值)。

五、字符数据类型

字符数据类型是使用最多的数据类型。它可以用来存储各种字母、数字符号、特殊符号。一般情况下,使用字符类型数据时须在其前后加上单引号’或双引号”。

1 CHAR

CHAR 数据类型的定义形式为CHAR[ (n)。以CHAR 类型存储的每个字符和符号占一个字节的存储空间。n 表示所有字符所占的存储空间,n 的取值为1 到8000,即可容纳8000 个ANSI 字符。若不指定n 值,则系统默认值为1。若输入数据的字符数小于n,则系统自动在其后添加空格来填满设定好的空间。若输入的数据过长,将会截掉其超出部分。

2、NCHAR

NCHAR 数据类型的定义形式为NCHAR[ (n)]。它与CHAR 类型相似。不同的

是NCHAR数据类型n 的取值为1 到4000。因为NCHAR 类型采用UNICODE 标准字符集(CharacterSet)。UNICODE 标准规定每个字符占用两个字节的存储空间,所以它比非UNICODE 标准的数据类型多占用一倍的存储空间。使用UNICODE 标准的好处是因其使用两个字节做存储单位,其一个存储单位的容纳量就大大增加了,可以将全世界的语言文字都囊括在内,在一个数据列中就可以同时出现中文、英文、法文、德文等,而不会出现编码冲突。

3、V ARCHAR

V ARCHAR数据类型的定义形式为VARCHARn)。它与CHAR 类型相似,n 的取值也为1 到8000,若输入的数据过长,将会截掉其超出部分。不同的是,V ARCHAR数据类型具有变动长度的特性,因为V ARCHAR数据类型的存储长度为实际数值长度,若输入数据的字符数小于n ,则系统不会在其后添加空格来填满设定好的空间。

一般情况下,由于CHAR 数据类型长度固定,因此它比V ARCHAR 类型的处理速度快。

4、NV ARCHAR

NV ARCHAR数据类型的定义形式为NV ARCHAR[ (n)]。它与V ARCHAR 类型相似。不同的是,NV ARCHAR数据类型采用UNICODE 标准字符集(Character Set),n 的取值为1 到4000。

六、文本和图形数据类型

这类数据类型用于存储大量的字符或二进制数据。

1、TEXT

TEXT数据类型用于存储大量文本数据,其容量理论上为1 到2的31次方-1 (2,147,483,647)个字节,在实际应用时需要视硬盘的存储空间而定。

SQL Server 2000 以前的版本中,数据库中一个TEXT 对象存储的实际上是一个指针,它指向一个个以8KB (8192 个字节)为单位的数据页(Data Page)。这些数据页是动态增加并被逻辑链接起来的。在SQL Server 2000 中,则将TEXT 和IMAGE 类型的数据直接存放到表的数据行中,而不是存放到不同的数据页中。这就减少了用于存储TEXT 和IMA- GE 类型的空间,并相应减少了磁盘处理这类数据的I/O 数量。

2 NTEXT

NTEXT数据类型与TEXT.类型相似不同的,是NTEXT 类型采用UNICODE 标准字符集(Character Set), 因此其理论容量为230-1(1, 073, 741, 823)个字节。

3 IMAGE

IMAGE 数据类型用于存储大量的二进制数据Binary Data。其理论容量为2的31次方-1(2,147,483,647)个字节。其存储数据的模式与TEXT 数据类型相同。通常用来存储图形等OLE Object Linking and Embedding,对象连接和嵌入)对象。在输入数据时同BINARY数据类型一样,必须在数据前加上字符“0X”作为二进制标识

七、日期和时间数据类型

1 DATETIME

DATETIME 数据类型用于存储日期和时间的结合体。它可以存储从公元1753 年1 月1 日零时起到公元9999 年12 月31 日23 时59 分59 秒之间

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个字节.

(整理)SQLServer数据库基本知识点.

SQL Server 数据库基本知识点一、数据类型

二、常用语句 (用到的数据库Northwind) 查询语句 简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的 表或视图、以及搜索条件等。例如,下面的语句查询Customers 表中公司名称为“Alfreds Futterkiste”的ContactName字段和Address字段。 SELECT ContactName, Address FROM Customers WHERE CompanyName='Alfreds Futterkiste' (一) 选择列表 选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。 1、选择所有列 例如,下面语句显示Customers表中所有列的数据: SELECT * FROM Customers 2、选择部分列并指定它们的显示次序查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。 例如: SELECT ContactName, Address FROM Customers 3、更改列标题 在选择列表中,可重新指定列标题。定义格式为: 列标题 as 列名 列名列标题如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列标题: SELECT ContactName as 联系人名称, Address as地址 FROM Customers 4、删除重复行

SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认 为ALL。使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。 SELECT DISTINCT(Country) FROM Customers 5、限制返回的行数 使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行,而TOP n PERCENT 时,说明n是 表示一百分数,指定返回的行数等于总行数的百分之几。 例如: SELECT TOP 2 * FROM Customers SELECT TOP 20 PERCENT * FROM Customers (二)FROM子句 FROM子句指定SELECT语句查询及与查询相关的表或视图。在FROM子句中最多可指定256个表或视图,它们之间用逗号分隔。在FROM子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列 所属的表或视图。例如在Orders和Customers表中同时存在CustomerID列,在查询两个表中的CustomerID时应 使用下面语句格式加以限定: select * from Orders,Customers where Orders.CustomerID =Customers.CustomerID 在FROM子句中可用以下两种格式为表或视图指定别名: 表名 as 别名 表名别名 select * from Orders as a,Customers as b where a.CustomerID =b.CustomerID SELECT不仅能从表或视图中检索数据,它还能够从其它查询语句所返回的结果集合中查询数据。 例如: select * from Customers where CustomerID in (select CustomerID from Orders where EmployeeID=4) 此例中,将SELECT返回的结果集合给予一别名CustomerID,然后再从中检索数据。 (三) 使用WHERE子句设置查询条件 WHERE子句设置查询条件,过滤掉不需要的数据行。例如下面语句查询年龄大于20的数据:select CustomerID from Orders where EmployeeID=4

MySql Oracle SqlServer三大数据库的数据类型列表

MySql Oracle SqlServer三大数据库的数据类型列表MySql数据类型

Oracle数据类型 一、概述 在ORACLE8中定义了:标量(SCALAR)、复合(COMPOSITE)、引用(REFERENCE)和LOB四种数据类型,下面详细介绍它们的特性。 二、标量(SCALAR) 合法的标量类型与数据库的列所使用的类型相同,此外它还有一些扩展。它又分为七个组:数字、字符、行、日期、行标识、布尔和可信。 数字,它有三种基本类型--NUMBER、PLS_INTEGER和BINARY_INTENER。NUMBER可以描述整数或实数,而PLS_INTEGER和BINARY_INTENER只能描述整数。 NUMBER,是以十进制格式进行存储的,它便于存储,但是在计算上,系统会自动的将它转换成为二进制进行运算的。它的定义方式是NUMBER(P,S),P是精度,最大38位,S是刻度范围,可在-84...127间取值。例如:NUMBER(5,2)可以用来存储表示-999.99...999.99间的数值。P、S可以在定义是省略,例如:NUMBER(5)、NUMBER 等; BINARY_INTENER用来描述不存储在数据库中,但是需要用来计算的带符号的整数值。它以2的补码二进制形式表述。循环计数器经常使用这种类型。 PLS_INTEGER和BINARY_INTENER唯一区别是在计算当中发生溢出时,BINARY_INTENER型的变量会被自动指派给一个NUMBER型而不会出错,PLS_INTEGER型的变量将会发生错误。 字符,包括CHAR、VARCHAR2(VARCHAR)、LONG、NCHAR和NVARCHAR2几种类型。 CHAR,描述定长的字符串,如果实际值不够定义的长度,系统将以空格填充。它的声明方式如下CHAR(L),L 为字符串长度,缺省为1,作为变量最大32767个字符,作为数据存储在ORACLE8中最大为2000。 VARCHAR2(VARCHAR),描述变长字符串。它的声明方式如下VARCHAR2(L),L为字符串长度,没有缺省值,作为变量最大32767个字节,作为数据存储在ORACLE8中最大为4000。在多字节语言环境中,实际存储的字符个数可能小于L值,例如:当语言环境为中文(SIMPLIFIED CHINESE_CHINA.ZHS16GBK)时,一个VARCHAR2(200)的数据列可以保存200个英文字符或者100个汉字字符。 LONG,在数据库存储中可以用来保存高达2G的数据,作为变量,可以表示一个最大长度为32760字节的可变字符串。 NCHAR、NVARCHAR2,国家字符集,与环境变量NLS指定的语言集密切相关,使用方法和CHAR、VARCHAR2相同。 行,包括RAW和LONG RAW两种类型。用来存储二进制数据,不会在字符集间转换。 RAW,类似于CHAR,声明方式RAW(L),L为长度,以字节为单位,作为数据库列最大2000,作为变量最大32767字节。 LONG RAW,类似于LONG,作为数据库列最大存储2G字节的数据,作为变量最大32760字节。 日期,只有一种类型--DATE,用来存储时间信息,站用7个字节(从世纪到秒),绝对没有“千年虫”问题。 行标识,只有一种类型--ROWID,用来存储“行标识符”,可以利用ROWIDTOCHAR函数来将行标识转换成为字符。 布尔,只有一种类型--BOOLEAN,仅仅可以表示TRUE、FALSE或者NULL。 可信,只有一种类型--MLSLABEL,可以在TRUSTED ORACLE中用来保存可变长度的二进制标签。在标准ORACLE 中,只能存储NULL值。 三、复合(COMPOSITE) 标量类型是经过预定义的,利用这些类型可以衍生出一些复合类型。主要有记录、表。 记录,可以看作是一组标量的组合结构,它的声明方式如下: TYPE record_type_name IS RECORD ( filed1 type1 [NOT NULL] [:=expr1] ....... filedn typen [NOT NULL] [:=exprn] ) 其中,record_type_name是记录类型的名字。(是不是看着象CREATE TABLE?......)引用时必须定义相关的变量,记录只是TYPE,不是VARIABLE。 表,不是物理存储数据的表,在这里是一种变量类型,也称为PL/SQL表,它类似于C语言中的数组,在处理方式上也相似。它的声明方式如下:

SQLServer常用关键字数据类型和常用语法

SQL Server 2008 常用关键字、数据类型和常用语法 常用关键字: SQL server 2008一共大约有180多个关键字。简要分为主要关键字、辅助关键字和函数类关键字。本文就常用的这三类关键字进行语法说明和用例。 说明:1、比较好的习惯是,数据库名以D_开头,表名用T_开头,字段名以F_开头,这样可以防止和关键字重名。 2、如果确实用到了系统关键字,就要在关键上加[]方括号,以与关键字进行区别。例如有一个用户表被命名为USER,则查询该表内容的时候:SELECT * FROM USER语句是错误的,应该是SELECT * FROM [USER]。因为USER是关键字。

数据类型: SQL Server 2008一共有36种数据类型。具体如下:

常用语法: 一、数据库 【创建数据库】 CREATE DATABASE 【修改数据库】 ALTER DATABASE 【删除数据库】 DROP DATABASE 二、表结构 【创建数据表】 1、设定字段是允许空,非空、标识列,自增和主键约束。 CREATE TABLE T_CUSTOMER--表名 (CUSTOMERID INT IDENTITY(1,1),--客户ID,标识列,从开始,每次自增 COMPANYNAME NVARCHAR(50)NOT NULL,--,如果不显示指明NOT NULL,系统默认是允许空的USERNAME NVARCHAR(10)NOT NULL,--联系人姓名,非空 PHONENUMBER CHAR(11)NULL,--联系电话,允许为空 CONSTRAINT T_CUSTOMER_PrimaryKey PRIMARY KEY (CUSTOMERID))--设定USERID为主键,用括号括起来 /*每个单词之间是空格隔开,每个字段之间用单引号隔开,整个字段定义部分用括号括起来*/ /*T_RegUser_PrimaryKey是约束名*/ 2、设定字段是UNIQUEIDENTIFIER数据类型,唯一性约束,CHECK约束和默认值约束。

SQLServer数据库试题九及答案.doc

SQL Server 数据库试题九及答案 一、选择题 (每题 2 分,共 30 分 ) 1、下面不属于数据定义功能的SQL 语句是:() A.CREAT TABLE B.CREAT CURSOR C.UPDA TE D.ALTER TABLE 2、 SQL 数据库中的视图与下列哪项是对应的()。 A. 关系模式 B.存储模式 C.子模式 D.以上都不是 3、下列选项中不是数据库复制类型的是()。 A. 快照复制 B.差异复制 C.事务复制 D. 合并复制 4、下列说法错误的是 : ()。 A. 一个基本表可以跨一个或多个存储文件 B. 一个存储文件可以跨一个或多个基本表 C.每个存储文件与外部存储器上一个物理文件对应 D.每个基本表与外部存储器上一个物理文件对应 5.显示包含警告信息或其他信息的消息框,应该使用的操作是()。 A . Echo B .Message C. Warn D . MsgBox 6、在 SQL Server 2000 中,索引的顺序和数据表的物理顺序相同的索引是()。 A. 聚集索引 B.非聚集索引 C.主键索引 D. 唯一索引 7. SQL Server 的字符型系统数据类型主要包括()。 A.Int 、 money、 char B. char、 varchar、 text C. datetime、 binary 、 int D. char 、 varchar、 int 8、以下选项中哪一项不是访问数据库系统的接口()。 A.ODBC B.OLE DB C.API D.ADO 9、在 SELECT 语句的 WHERE 子句的条件表达式中,可以匹配0 个到多个字符的通配符是() A.* B.% C.- D.? 10、 SELECT 语句中与HAVING 子句同时使用的是()子句。 A.ORDER BY B.WHERE C.GROUP BY D.无需配合 11~15 题使用如下数据: 当前盘当前目录下有数据库db_stock, 其中有表stock 的内容是 : 股票代码股票名称单价交易所 600600 青岛啤酒7.48 上海 600601 方正科技15.20 上海 600602 广电电子10.40 上海 600603 兴业房产12.76 上海 600604 二纺机 9.96 上海 600605 轻工机械14.59 上海 000001 深发展 7.48 深圳 000002 深万科 12.50 深圳 11、有如下SQL 语句 create view stock_view as select * from stock where 交易所 =”深圳” 执行该语句后产生的视图包含的记录个数是() A.1 B.2 C.3 D.4 12、有如下SQL 语句

SQLServer数据类型介绍

在计算机中数据有两种特征:类型和长度。所谓数据类型就是以数据的表现方式和存储方式来划分的数据的种类。 在SQL Server 中每个变量、参数、表达式等都有数据类型。系统提供的数据类型分为几大类,如表4-2 所示。 其中,BIGINT、 SQL_VARIANT 和TABLE 是SQL Server 2000 中新增加的3 种数据类型。下面分类讲述各种数据类型。 一、整数数据类型 整数数据类型是最常用的数据类型之一。 1、INT (INTEGER) INT (或INTEGER)数据类型存储从-2的31次方(-2 ,147 ,483 ,648)到2的31次方-1 (2 ,147 ,483,647)之间的所有正负整数。每个INT 类型的数据按4 个字节存储,其中1 位表示整数值的正负号,其它31 位表示整数值的长度和大小。 2、SMALLINT SMALLINT 数据类型存储从-2的15次方( -32, 768)到2的15次方-1( 32 ,767 )之间的所有正负整数。每个SMALLINT 类型的数据占用2 个字节的存储空间,其中1 位表示整数值的正负号,其它15 位表示整数值的长度和大小。 3、TINYINT TINYINT数据类型存储从0 到255 之间的所有正整数。每个TINYINT类型的数据占用1 个字节的存储空间。 4、BIGINT BIGINT 数据类型存储从-2^63 (-9 ,223, 372, 036, 854, 775, 807)到2^63-1( 9, 223, 372, 036 ,854 ,775, 807)之间的所有正负整数。每个BIGINT 类型的数据占用8个字节的存储空间。 二、浮点数据类型 浮点数据类型用于存储十进制小数。浮点数值的数据在SQL Server 中采用上舍入

SQLServer数据类型转换

sql数据类型转换的使用 sql数据类型转换函cast()、convent() 不自动执行不同数据类型的表达式转换时,可使用转换函数cast和convent 进行转换。这些转换函数还可用来获得各种特殊的数据格式。这两个转换函数都可用于选择列表、WHERE 子句和允许使用表达式的任何地方。 如果希望Transact-SQL 程序代码遵从SQL-92 标准,请使用CAST 而不要使用CONVERT。如果要利用CONVERT 中的样式功能,请使用CONVERT 而不要使用CAST。 使用CAST 或CONVERT 时,需要两条信息: 要转换的表达式(例如,销售报告要求销售数据从货币型数据转换为字符型数据)。 要将所给表达式转换到的数据类型,例如,varchar或SQL Server 提供的任何其它数据类型。 除非将被转换的值存储起来,否则转换仅在CAST 或CONVERT 函数的作用期内有效。 在下面的示例中,第一个SELECT 语句中使用CAST,第二个SELECT 语句中使用CONVERT,将title 列转换为char(50) 列,以使结果更可读: USE pubs SELECT CAST(title AS char(50)), ytd_sales FROM titles WHERE type = 'trad_cook' 或 USE pubs SELECT CONVERT(char(50), title), ytd_sales FROM titles WHERE type = 'trad_cook' 下面是结果集:(对任何一个查询) ytd_sales ----------------------------------------- ----------- Onions, Leeks, and Garlic: Cooking Secrets of the 375 Fifty Years in Buckingham Palace Kitchens 15096 Sushi, Anyone? 4095

SQLServer类型与Java类型转换问题解决

ResultSet 接口提供用于从当前行获取列值的获取方法(getBoolean、getLong 等)。可以使用列的索引编号或列的名称获取值。一般情况下,使用列索引较为高效。列从 1 开始编号。为了获得最大的可移植性,应该按从左到右的顺序读取每行中的结果集列,每列只能读取一次。 对于获取方法,JDBC 驱动程序尝试将底层数据转换为在获取方法中指定的 Java 类型,并返回适当的 Java 值。JDBC 规范有一个表,显示允许的从 SQL 类型到ResultSet 获取方法所使用的 Java 类型的映射关系。 用查询从包含 sqlvariant 数据类型列的表中检索数据,则会发生异常。 Getter 方法转换

基于 SQL Server 2005 的数据类型,以下图表包含 SQLServerResultSet 类的get方法的 JDBC 驱动程序转换图,以及 SQLServerCallableStatement 类的get方法支持的转换。 JDBC 驱动程序的 getter 方法支持三种基本的转换类别: ?Non-Lossy (x):在 getter 类型等于或小于基础服务器类型的情况下执行转换。例如,对基础服务器的十进制数列调用getBigDecimal时, 无需进行转换。 ?Converted (y):从数字服务器类型到 Java 语言类型的转换,此时的转换为常规转换,并遵循 Java 语言转换规则。对于这些转换,总是 直接截取有效位数(从不四舍五入),而溢出则按目标类型取模处理, 以较小者为准。例如,对包含“1.9999”的基础十进制数列调用

SQLSERVER选择题(含答案)(去年原题)

第一套选择题 1.下列说法错误的是()。 A.内嵌表值函数没有函数主体,返回的表是单个SELECT语句的结果集 B.多语句表值函数的调用与内嵌表值函数的调用方法相同 C.多语句表值函数的功能可以用标量函数来实现 D.在内嵌表值函数的定义中,不使用BEGIN…END块定义函数主体 2.以下哪个事件不能激活DML触发器的执行()。 A.SELECT B.UPDATE C.INSERT D.DELETE 3.以下哪个数据库实例不属于系统数据库()。 A.master B.model C.msdb D.temp 4.执行以下语句: DECLARE@n int Set@n=3 WHILE@n<5 Begin IF@n=4 Print ltrim(@n)+‘的平方数为’+ltrim(@n*@n) Set@n=@n+1 End 执行完成后循环次数为()。 A.0次B.1次 C.2次D.死循环 5.利用游标来操纵数据时,所用的FOR UPDATE子句充分利用了事务的哪个特性()。 A.原子性B.一致性 C.永久性D.隔离性 6.关于触发器的描述,下列说法正确的是()。 A.触发器是在数据修改前被触发,约束是在数据修改后被触发 B.触发器是一个能自动执行的特殊的存储过程 C.触发器作为一个独立的对象存在,与数据库中其他对象无关 D.inserted表和deleted表是数据库中的物理表

7.关于服务器角色与数据库角色,说法正确的是()。 A.只能将一个登录名添加为某个固定服务器角色的成员 B.只能将一个登录名添加为某个固定数据库角色的成员 C.sysadmin是固定数据库角色 D.db_owner是固定服务器角色 8.关于创建永久备份设备,下列说法错误的是()。 A.执行系统存储过程sp_addumpdevice创建永久备份设备 B.执行系统存储过程sp_dropdevice删除永久备份设备 C.若被删除的“命名备份设备”的类型为磁盘,那么必须指定DELFILE选项D.只须指定该命名备份设备的物理名,无须指定该命名备份设备的逻辑名 9.能够将‘java’课的学分赋值给变量的语句是哪一个()。 A.select credit into@credit from course where cname=‘java’B.select credit=@credit from course where cname=‘java’ C.select@credit=credit from course where cname=‘java’ D.select credit from course where cname=‘java’and credit=@credit 10.游标的处理步骤的第二步是()。 A.打开游标B.定义游标 C.关闭游标D.取值到变量 11.在定义存储过程时,下面说法不正确的是()。 A.不要以sp_为前缀创建任何存储过程,因为sp_前缀是SQL Server用来命名系统存储过程的 B.如果定义了默认值,执行存储过程时可以不提供实参 C.VARYING用于指定作为输出参数支持的结果集,且仅适用于定义cursor输出参数 D.OUTPUT关键词用于指定参数为输入参数类型 12.调用标量函数时,至少应使用()和函数名。 A.服务器名B.数据库名 C.数据库架构名D.用户名 13.下面关于数据操纵语句,说法错误的是()。 A.使用Insert语句一次只能插入一行数据 B.使用Insert语句一次可以插入多行数据 C.使用Update语句一次可以更新多行数据 D.使用Delete语句一次可以删除多行数据 14.关于T-SQL语言,以下说法正确的是()。 A.T-SQL语言能用于Oracle数据库 B.SQL Server数据库可以使用PL/SQL语言 C.T-SQL语言提供了流程控制功能

SQLSERVER 和ORACLE数据类型对应关系详解

Oracle SQLServer比较 SQLServer常见的数据库类型 字符数据类型CHAR CHAR:都是固定长度字符资料但oracle里面最大度为2kb,SQLServer里面最大长度为8kb 变长字符数据类型VARCHAR2VARCHAR:racle里面最大长度为4kb,SQLServer 里面最大长度为8kb 根据字符集而定的固定长度字符串NCHAR:NCHAR前者最大长度2kb后者最大长度4kb 根据字符集而定的可变长度字符串NVARCHAR2NVARCHAR:者最大长度都为4kb 日期和时间数据类型DATE有Datetime和Smalldatetime两种在oracle里面格式为DMY在SQLSerser里面可以调节,默认的为MDY 数字类型NUMBER(P,S)NUMERIC[P(,S)]:Oracle里面p代表小数点左面的位数,s代表小数点右面的位数。而SQLServer里面p代表小数点左右两面的位数之和,s代表小数点右面的位数。 数字类型DECIMAL(P,S)DECIMAL[P(,S)]:racle里面p代表小数点左面的位数,s代表小数点右面的位数。而SQLServer里面p代表小数点左右两面的位数之和,s代表小数点右面的位数。 整数类型INTEGER INT同为整数类型,存储大小都为4个字节 浮点数类型FLOAT FLOAT 实数类型REAL REAL ORACLE的数据类型 常用的数据库字段类型如下: 字段类型中文说明限制条件其它说明 CHAR固定长度字符串最大长度2000bytes VARCHAR2可变长度的字符串最大长度4000bytes可做索引的最大长度749 NCHAR根据字符集而定的固定长度字符串最大长度2000bytes NVARCHAR2根据字符集而定的可变长度字符串最大长度4000bytes DATE日期(日-月-年)DD-MM-YY(HH-MI-SS) LONG可变长度的字符数据最大长度2G(231-1)足够存储大部头著作 RAW固定长度二进制数据最大长度2000bytes可存放比较小的多媒体图象声音等LONG RAW可变长度的二进制数据最大长度2G可存放比较大的多媒体图象声音等

sqlserver数据库设计实例

数据库原理与应用 课程设计A报告 姓名:袁一帆学号: 学院 (系):管理学院专业:信息管理与信息系统班级: 12级信管 1 班

襄阳迈博信息科技有限公司企业考勤管理系统 一、系统目标设计 1系统开发的总体任务是实现企业员工考勤管理的系统化、规范化、和自动化。 2能够和人事管理系统、工资管理系统相结合,真正实现企业高效、科学、现代化的员工管理。 二、开发实际思想 1尽量采用公司现有软硬件环境,及先进的管理系统开发方案,从而达到充分利用公司现有资源,提高系统开发水平和应用效果的目的。 2员工考勤管理系统能够和考勤机相连接,从而完成自动、高效、科学的考勤信息输入。 3系统采用模块化程序设计方法,既便与系统功能的各种组合和修该,又便于未参与开发的技术维护人员补充、维护。 系统应具备数据库维护功能,即使根据用户需求进行数据的添加、删除、修改、被分等操作。 系统需求分析 1 考勤管理涉及企业人事管理的多个方面,如员工职务升迁、工资发放、奖金发放、员工医疗保险发放等等。本利自重的考勤管理系统需要完成功能主要有以下几点。 2 员工考勤信息处理。该莫完成员工考勤情况的输入、修改等操作。如果企业内有考勤机,可以将它的输出处理后,形成考勤管理系统考勤模块的输入。 3 企业缺勤类型的设定。 4 企业考勤统计。该模块可对某个员工进行考勤情况的统计,生成统计报表。

5 缺勤时间,缺勤类型对工资的影响 6 缺勤时间,缺勤类型对升职的影响数据字典 数据项 表1 表2 表3

表4 表5 表6 表7 表8

表9 表10 数据结构 表11

表12 表13 表14 表15 表16

sqlserver数据类型简介.

SQLServer 提供了25 种数据类型: (1 二进制数据类型 包括Binary、Varbinary 和Image Binary[(n] 是n 位固定的二进制数据。其中,n 的取值范围是从 1 到8000。 Varbinary[(n] 是n 位变长度的二进制数据。其中,n 的取值范围是从 1 到8000。 (2 字符数据类型 字符数据的类型包括Char,Varchar 和Text Varchar 是变长字符数据,其长度不超过8KB。Char 是定长字符数据,其长度最多为8KB。超过8KB 的ASCII 数据可以使用Text数据类型存储。 (3 Unicode 数据类型 Unicode 数据类型包括Nchar,Nvarchar 和Ntext 当列的长度变化时,应该使用Nvarchar 字符类型,这时最多可以存储4000 个字符。当列的长度固定不变时,应该使用Nchar 字符类型 (4 日期和时间数据类型 包括Datetime 和Smalldatetime 1753 年1 月1 日开始,到9999 年12 月31 日结束(每一个值要求8 个存储字节。使用Smalldatetime 数据类型 时,所存储的日期范围是1900年 1 月1日开始,到2079 年12 月31 日结束(每一个值要求 4 个存储字节。

置日期格式的命令如下: Set DateFormat日期的顺序; 有效的参数包括MDY、DMY、YMD、YDM、MYD 和DYM; 执行Set DateFormat YMD 之后,日期的格式为年月日形式;当执行Set DateFormat DMY 之后,日期的格式为日月有年 (5数字数据类型 Int,Smallint和Tinyint 数字数据只包含数字.整数由正整数和负整数组成 Int -2 147 483 648 到2 147 483 647 Smallint -32 768 到32 767 Tinyint 0 到255

相关主题
文本预览
相关文档 最新文档