MySql Oracle SqlServer三大数据库的数据类型列表
oraclemysqlsqlserver三种数据库查询表获取表数据的前100条数据与排序时。。。

oraclemysqlsqlserver三种数据库查询表获取表数据的前100条数据与排序时。
1.oracle获取表的前100条数据.select * from t_stu_copy where rownum<=100;(从1⾏开始取100⾏数据,第⼀⾏到第100⾏数据)补充:先降序排序再获取第101条到第200条之间的所有记录select * from t_stu_copy order by stuid desc where rownum between 100 and 200 ;---错误select * from t_stu_copy where rownum between 100 and 200 order by stuid desc ;---错误SELECT * FROM(SELECT ROWNUM AS rowno,t.* FROM t_stu_copy t WHERE ROWNUM <= 200 ORDER BY t.stuid ) a WHEREa.rowno > 100;正确或者:select * from t_stu_copy where stuid between 101 and 200;2.mysql获取表的前100条数据.select * from t_stu_copy limit 0,100;(从1⾏开始取100⾏数据,第⼀⾏到第100⾏数据)补充:先降序排序再获取第101条到第200条之间的所有记录select * from t_stu_copy order by stuid limit 100,100;(从101⾏开始取100⾏数据,第101⾏到第200⾏数据)或者:select * from t_stu_copy where stuid between 101 and 200;3.sqlserver获取表的前100条数据.select top 100 * from t_stu_copy ;补充:先降序排序再获取第101条到第200条之间的所有记录(三种⽅法,不过⽅法a与b得到的结果是将第101条到第200条倒过来显⽰罢了)a. select top 100 * from (select top 200 * from t_stu order by stuid) a order by stuid desc;b. select top m * into 临时表(或表变量) from tablename order by columnname set rowcount n select * from 表变量 order by columnname desc.select top 200 * into xxx from t_stu order by stuid set ROWCOUNT 100 select * from xxx order by stuid desc; xxx表⽰临时表变量.c. select * from t_stu where stuid between 101 and 200.。
oracle数据库基本数据类型

oracle数据库基本数据类型
Oracle数据库有许多基本数据类型,包括:
1. 字符型:
- CHAR:固定长度的字符型,最长可达2000个字节。
- VARCHAR2:可变长度的字符型,最长可达4000字节。
- CLOB:用于存储大量文本数据的字符型,最长可达4GB。
- NCHAR:固定长度的Unicode字符型,最长可达2000个字节。
- NVARCHAR2:可变长度的Unicode字符型,最长可达4000字节。
- NCLOB:用于存储大量Unicode文本数据的字符型,最长可达4GB。
2. 数值型:
- NUMBER:用于存储数值数据的类型,包括整数和浮点数。
- BINARY_FLOAT:用于存储单精度浮点数。
- BINARY_DOUBLE:用于存储双精度浮点数。
3. 日期和时间型:
- DATE:用于存储日期和时间信息。
- TIMESTAMP:用于存储日期、时间和时区信息。
4. 二进制型:
- RAW:用于存储二进制数据的类型,最长可达2000字节。
- BLOB:用于存储大量二进制数据的类型,最长可达4GB。
5. BOOLEAN型:用于存储布尔值(TRUE或FALSE)。
这些基本数据类型可以通过组合和修饰符进行扩展和定制。
数据库管理系统比较MySQLvsOraclevsSQLServer

数据库管理系统比较MySQLvsOraclevsSQLServer 数据库管理系统比较:MySQL vs Oracle vs SQL Server引言:数据库管理系统是现代信息技术领域中不可或缺的一环。
随着数据量的急剧增加和数据库应用的广泛应用,选择适合自己需求的数据库管理系统变得至关重要。
在本文中,我们将比较三种常见的数据库管理系统:MySQL、Oracle和SQL Server。
通过对比它们的性能、功能、可扩展性和使用成本,为读者提供一个更好地了解和选择的依据。
一、性能比较在数据库管理系统中,性能是一个至关重要的因素。
下面将对MySQL、Oracle和SQL Server的性能进行比较。
1.1 MySQL性能MySQL是一个轻量级的开源数据库管理系统,以其高性能而闻名。
它采用多线程处理机制和高效的索引算法,能够处理大规模的数据访问和高并发请求。
此外,MySQL还支持垂直和水平扩展,可根据实际需求进行灵活配置和调整。
因此,在对于大多数中小型应用来说,MySQL提供了相对较好的性能。
1.2 Oracle性能Oracle是一个功能强大且成熟的商业数据库管理系统。
它具有出色的性能,并且能够处理大规模的复杂数据模型。
Oracle采用了先进的事务处理机制和高效的查询优化算法,使其在处理高并发访问和复杂查询时具有出色的性能表现。
然而,Oracle的性能和功能也伴随着更高的硬件要求和许可成本。
1.3 SQL Server性能SQL Server是由微软公司开发的关系型数据库管理系统。
它在处理大规模数据时表现出色,并且支持高并发访问和复杂查询。
SQL Server 采用了先进的内存管理和缓存技术,以提高查询速度和响应时间。
此外,SQL Server还具有良好的稳定性和可靠性,适用于中小型企业的应用场景。
综合比较,MySQL适用于中小型应用,对性能要求较高且成本敏感的场景;Oracle适用于大规模企业级应用,对功能和可靠性要求较高的场景;SQL Server适用于中小型企业应用,对性能和稳定性要求较高的场景。
各数据库的数据类型的区别

Oracle、MySQL、SQL Server数据库的数据类型的差异1.Oracle数据库的各种数据类型CHAR 定长的字符型数据,长度<=2000字节VARCHAR2 变长的字符型数据,长度<=4000字节N CHAR 用来存储Unicode字符集的定长字符型数据,长度<=1000字节注意:N字打头的是存储Unicode字符集NVARCHAR2 Unicode字符集的变长字符型数据,长度<=1000字节NUMBER 整型或者浮点型数值DATE 日期数据LONG 2GB的变长字符数据RAW 用来存储非结构化数据的变长字符数据,长度<=2000字节LONG RAW 用来存储非结构化数据的变长字符数据,长度<=2GBROWID 用来存储表中列的物理地址的二进制数据,占用固定的10个字节BLOB 4GB的非结构化的二进制数据CLOB 4GB的字符数据NCLOB 4GB的Unicode字符数据BFILE 把非结构化的二进制数据存储在数据库以外的操作系统文件中UROWID 表示任何类型列地址的二进制数据FLOAT 浮点数2.MySQL数据库的各种数据类型CHAR (M) CHAR数据类型用于表示M长度的字符串。
VARCHAR (M) VARCHAR可以保存可变长度的字符串, VARCHAR数据类型所支持的最大长度也是255个字符。
INT (M) [Unsigned] INT数据类型用于保存从- 2147483647 到2147483648范围之内的任意整数数据。
如果用户使用Unsigned选项,则有效数据范围调整为0-4294967295。
FLOAT [(M,D)] FLOAT数据类型用于表示数值较小的浮点数据,可以提供更加准确的数据精度。
其中,M代表浮点数据的长度(即小数点左右数据长度的总和),D表示浮点数据位于小数点右边的数值位数。
DATE DATE数据类型用于保存日期数据,默认格式为YYYY-MM-DD。
sqlserver数据类型及适用范围

sqlserver数据类型及适用范围SQL Server是一种关系型数据库管理系统,它支持多种数据类型,每种数据类型都有其适用范围和特点。
本文将介绍一些常用的SQL Server数据类型及其适用范围,以帮助读者更好地理解和使用这些数据类型。
1. 整数数据类型:- INT:用于存储整数值,范围为-2^31到2^31-1。
- BIGINT:用于存储大整数值,范围为-2^63到2^63-1。
- SMALLINT:用于存储小整数值,范围为-2^15到2^15-1。
2. 小数数据类型:- FLOAT:用于存储浮点数值,范围为-1.79E+308到1.79E+308。
- DECIMAL:用于存储固定精度的小数值,需要指定精度和小数位数。
3. 字符串数据类型:- VARCHAR:用于存储可变长度的字符串,最大长度为8000个字符。
- CHAR:用于存储固定长度的字符串,需要指定长度,最大长度为8000个字符。
- NVARCHAR:用于存储Unicode格式的可变长度字符串,最大长度为4000个字符。
- NCHAR:用于存储Unicode格式的固定长度字符串,需要指定长度,最大长度为4000个字符。
4. 日期和时间数据类型:- DATETIME:用于存储日期和时间,范围为1753年1月1日到9999年12月31日。
- DATE:用于存储日期,范围为0001年1月1日到9999年12月31日。
- TIME:用于存储时间,范围为00:00:00到23:59:59。
5. 布尔数据类型:- BIT:用于存储布尔值,可以是0、1或NULL。
6. 二进制数据类型:- VARBINARY:用于存储可变长度的二进制数据,最大长度为8000个字节。
- BINARY:用于存储固定长度的二进制数据,需要指定长度,最大长度为8000个字节。
7. 其他数据类型:- XML:用于存储XML格式的数据。
- UNIQUEIDENTIFIER:用于存储全局唯一标识符(GUID)。
oracle和mysql的数据类型

oracle和mysql的数据类型Oracle和MySQL是两种常用的关系型数据库管理系统。
虽然它们具有相似的功能和用途,但在数据类型方面存在一些差异。
本文将深入探讨Oracle和MySQL的数据类型,并逐步回答有关这两个数据库的常见问题。
第一部分:Oracle数据类型Oracle提供了广泛的数据类型,用于存储不同类型的数据。
以下是一些常见的Oracle数据类型:1. 字符串类型:- CHAR(n):固定长度的字符串,n表示最大长度。
- VARCHAR2(n):可变长度的字符串,n表示最大长度。
- CLOB:用于存储大量文本数据。
2. 数值类型:- NUMBER(p, s):表示固定精度和范围的数值,p表示总位数,s表示小数位数。
- INTEGER:整数类型。
- FLOAT(p):浮点数类型,p表示精度。
3. 日期和时间类型:- DATE:存储日期和时间。
- TIMESTAMP:带有时区的日期和时间。
4. 二进制类型:- BLOB:用于存储大量二进制数据。
- RAW(n):存储固定长度的原始二进制数据,n表示字节数。
第二部分:MySQL数据类型MySQL也提供了各种数据类型,用于存储不同类型的数据。
以下是一些常见的MySQL数据类型:1. 字符串类型:- CHAR(n):固定长度的字符串,n表示最大长度。
- VARCHAR(n):可变长度的字符串,n表示最大长度。
- TEXT:用于存储大量文本数据。
2. 数值类型:- INT(m):整数类型,m表示显示宽度。
- FLOAT(p, s):浮点数类型,p表示总位数,s表示小数位数。
- DECIMAL(p, s):高精度数值类型,p表示总位数,s表示小数位数。
3. 日期和时间类型:- DATE:存储日期。
- DATETIME:存储日期和时间。
4. 二进制类型:- BLOB:用于存储大量二进制数据。
- VARBINARY(n):可变长度的二进制数据,n表示最大长度。
java实体属性对应mysql和SQLServer和Oracle数据类型对应
java实体属性对应mysql和SQLServer和Oracle数据类型对应1:Java数据类型与MySql数据类型对照表类型名称显⽰长度数据库类型JAVA类型JDBC类型索引(int) VARCHAR L+N VARCHAR ng.String12CHAR N CHAR ng.String1BLOB L+N BLOB ng.byte[]-4TEXT65535VARCHAR ng.String-1INTEGER4INTEGER UNSIGNED ng.Long4TINYINT3TINYINT UNSIGNED ng.Integer-6SMALLINT5SMALLINT UNSIGNED ng.Integer5MEDIUMINT8MEDIUMINT UNSIGNED ng.Integer4BIT1BIT ng.Boolean-7BIGINT20BIGINT UNSIGNED java.math.BigInteger-5FLOAT4+8FLOAT ng.Float7DOUBLE22DOUBLE ng.Double8DECIMAL11DECIMAL java.math.BigDecimal3BOOLEAN1同TINYINTID11PK (INTEGER UNSIGNED)ng.Long4DATE10DATE java.sql.Date91TIME8TIME java.sql.Time92DATETIME19DATETIME java.sql.Timestamp93TIMESTAMP19TIMESTAMP java.sql.Timestamp93YEAR4YEAR java.sql.Date91*对于bolb,⼀般⽤于对图⽚的数据库存储,原理是把图⽚打成⼆进制,然后进⾏的⼀种存储⽅式,在java中对应byte[]数组。
对于boolen类型,在mysql数据库中,个⼈认为⽤int类型代替较好,对bit操作不是很⽅便,尤其是在具有web页⾯开发的项⽬中,表⽰0/1,对应java类型的Integer较好。
(word完整版)Oracle-SQLServer-MySQL-MongoDB数据库比较
主流数据库比较目录前言 (3)1. 数据库安装对硬件的要求 (3)1。
1. Oracle (3)1.2. SQL Server (4)1。
3. MySQL (5)2. 数据类型对比 (6)2。
1。
Oracle数据类型 (6)2.2。
SQL Server 数据类型 (7)2。
3。
MySQL 数据类型 (11)3. 三大关系型数据库比较 (14)4。
应用场景 (18)4。
1. Oracle的一般应用 (18)4。
2. MySQL的应用场景 (18)4.3. SQL Server的应用 (19)5. MongoDB-非关系型数据库 (19)5。
1。
MongoDB的应用场景 (19)5.2. MongoDB与MySQL性能比较 (19)5.2。
1. 测试目的 (19)5。
2.2。
测试环境 (19)5。
2.3. 测试结果1:插入速率 (20)5。
2.4. 测试结果2:插入稳定性 (21)5。
2。
5. 测试结果3:读取性能测试 (23)5.2.6。
测试结论 (24)5。
3. MongoDB的优势和缺陷 (25)5。
3。
1。
MongoDB的优势 (25)5。
3。
2. MongoDB的缺陷 (25)前言数据库流行度排行榜来自于美国数据库知识网站DB-engines,在本月(2014—10)的榜单中,前三甲依然是Oracle、MySQL和Microsoft SQL Server.前十名中文档型数据库MongoDB和列式数据库Cassandra作为仅有的两个NoSQl数据库分别位列第五和第十名。
下面就对排名前三甲的关系型数据库(Oracle、MySQL、SqlServer)进行一下对比、以及最受欢迎的非关系型MongoDB.1. 数据库安装对硬件的要求1.1. Oracle以Oracle 11g为例,系统是Windows:硬件要求配置组件最低配置——-—-——--—-—---—-———--————-—-—------—---—-———-----—————-—--— Physical memory (RAM) 1 GB minimumVirtual memory Double the amount of RAMDisk space Total: 4。
SQLServer的数据类型详解
SQLServer的数据类型详解数据类型是数据的⼀种属性,表⽰数据所表⽰信息的类型。
任何⼀种计算机语⾔都定义了⾃⼰的数据类型。
当然,不同的程序语⾔都具有不同的特点,所定义的数据类型的各类和名称都或多或少有些不同。
SQL Server总共提供了 25 种数据类型: ·Binary [(n)] ·Varbinary [(n)] ·Char [(n)] ·Varchar[(n)] ·Nchar[(n)] ·Nvarchar[(n)] ·Datetime ·Smalldatetime ·Decimal[(p[,s])] ·Numeric[(p[,s])] ·Float[(n)] ·Real ·Int ·Smallint ·Tinyint ·Money ·Smallmoney ·Bit ·Cursor ·Sysname ·Timestamp ·Uniqueidentifier ·Text ·Image ·Ntext(1)⼆进制数据类型 ⼆进制数据包括 Binary、Varbinary 和 Image Binary 数据类型既可以是固定长度的(Binary),也可以是变长度的。
Binary[(n)] 是 n 位固定的⼆进制数据。
其中,n 的取值范围是从 1 到 8000。
其存储窨的⼤⼩是 n + 4 个字节。
Varbinary[(n)] 是 n 位变长度的⼆进制数据。
其中,n 的取值范围是从 1 到 8000。
其存储窨的⼤⼩是 n + 4个字节,不是n 个字节。
Image 在 Image 数据类型中存储的数据是以位字符串存储的,不是由 SQL Server 解释的,必须由应⽤程序来解释。
mysqloraclesqlserver三大数据库的数据类型列表
MySql Oracle SqIServer三大数据库的数据类型列表MySql数据类型Oracle数据类型、概述在ORACLE8中定义了:标量(SCALAR、复合(COMPOSITE、引用(REFERENCE和LOB四种数据类型,下面详细介绍它们的特性。
二、标量(SCALAR合法的标量类型与数据库的列所使用的类型相同,此外它还有一些扩展。
它又分为七个组:数字、字符、行、日期、行标识、布尔和可信。
数字,它有三种基本类型--NUMBER、PLS_INTEGEF和BINARY_INTENER NUMBER可以描述整数或实数,而PLS_INTEGEf和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_INTEGEf和口BINARY_INTENER隹一区别是在计算当中发生溢出时,BINARY_INTENERS的变量会被自动指派给一个NUMBER型而不会出错,PLS_INTEGE型的变量将会发生错误。
字符,包括CHAR VARCHAR2 (VARCHAR、LONG NCHAR和NVARCHAR2几种类型。
CHAR描述定长的字符串,如果实际值不够定义的长度,系统将以空格填充。
它的声明方式如下CHAR( L) , L 为字符串长度,缺省为1,作为变量最大32767个字符,作为数据存储在ORACLE8中最大为2000。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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语言中的数组,在处理方式上也相似。
它的声明方式如下:TYPE table_type_name IS TABLE OF scalar_type INDEX BY BINARY_INTENER;其中,table_type_name是类型的名字,scalar_type是一种标量类型的类型声明。
引用时也必须定义相关的变量。
表和数组不同,表有两列,KEY和VALUE,KEY就是定义时声明的BINARY_INTENER,VALUE就是定义时声明的scalar_type。
除了记录和表之外,还有对象类型、集合(嵌套表和VARRAYS)等类型,这些将专门讲解。
四、引用(REFERENCE)在PL/SQL8.0之前,只有一种类型--REF CURSOR,也就是游标。
它的定义较为简单,CURSOR cursor_name IS select .....from.....;在PL/SQL8.0之后,引入了REF类型,它指向一个对象。
这种类型将单独讲解。
(等我弄明白再说,免得在高人面前......)五、LOB型LOB变量主要是用来存储大量数据的数据库字段,最大可以存储4G字节的内容(这么大,存VCD?,浪费!)。
主要有:CLOB:和ORACLE7中的LONG类型相似,存储单字节字符数据。
(别用来存中文喔。
)NCLOB:用来存储定宽多字节字符数据。
(例如:存《啸傲江湖》就挺好)BLOB:和LONG RAW相似,用来存储无结构的二进制数据。
BFILE:它用来允许ORACLE对数据库外存储的大型二进制文本进行只读形式的访问。
六、其他其实在完成对标量变量的理解之后,基本上可以应付C/S模式下的常规数据库应用所需了,后续的类型说实话,我玩了5年ORACLE,都很少用到。
附:参考书《ORACLE8 PL/SQL程序设计》(《ORACLE8 PL/SQL PROGRAMMING》)ORACLE技术系列丛书机械工业出版社注:本文所列举的是PL/SQL当中可以定义的数据类型,并不是所有的类型都可以在建表时指定为列的数据类型SqlServer数据类型注意:SQL 数据类型JAVA数据类型CHAR StringVARCHAR StringLONGVARCHAR StringNUMERIC java.math.BigDecimalDECIMAL java.math.BigDecimalBIT BooleanTINYINT ByteSMALLINT ShortINTEGER IntBIGINT LongREAL FloatFLOAT DoubleDOUBLE DoubleBINARY byte[]VARBINARY byte[]LONGVARBINARY byte[]DATE java.sql.DateTIME java.sql.TimeTIMESTAMP java.sql.TimestampJAVA数据类型SQL 数据类型String VARCHAR or LONGVARCHAR java.math.BigDecimal NUMERIC Boolean BITByte TINYINTShort SMALLINTInt INTEGERLong BIGINTFloat REALDouble DOUBLEbyte[]VARBINARY or LONGVARBINARYjava.sql.Date DATEjava.sql.Time TIMEjava.sql.Timestamp TIMESTAMP这里,大伙要注意了,并不是所有的数据类型在各种数据库管理系统中都被支持。
下面,就几种常用的数据类型之间的转化进行说明:(1)CHAR, VARCHAR, 和 LONGVARCHAR在SQL语言中,有三种分别表示不同长度的字符类型CHAR, VARCHAR, 和LONGVARCHAR,在Java/Jsp中并没有相应的三种不同的数据类型与之一一对应,JDBC的处理方法是将其与String或者char[]对应起来。
在实际编程中不必对着三种SQL数据类型进行区分,全部将他们转化为Sting或者char[]就可以了。
而且通常使用应用的非常普遍的String类型。
我们还可以利用String类提供的方法将一个String对象转化为char[],或者用char[]为参数构造一个Stirng对象。
对于定长度的SQL数据类型CHAR(n),当从数据库管理系统中获得的结果集提取该类型的数据时,JDBC会为其构造一个长度为n的St ring对象来代表他,如果实际的字符个数不足’n’,系统会自动为String对象补上空格。
当向数据库管理系统写入的数据类型应该是CHAR(n)时,JDBC也会将该String对象的末尾补上相应数量的空格。
一般情况下,CHAR, VARCHAR, LONGVARCHAR和String之间可以无差错的进行转换。
但非常值得注意的是LONGVARCHAR,这种SQL的数据类型有时在数据库中代表的数据可能有几兆字节的大小,超过了String对象的承受范围。
JDBC解决的办法是用Jav a的Input Stream来接受这种类型的数据[以后我们回涉及到]。
Input Stream不仅支持ASCII,而且支持Unicode,我们可以根据需要进行选择。
(2)DECIMAL 和 NUMERICSQL的DECIMAL 和NUMERIC通常用来表示需要一定精度的定点数。
在Java的简单数据类型中,没有一种类型与之相对应。
但从JDK1.1开始,Sun公司在java.math.*包中加入了一个新的类BigDecimal,该类的对象可以与DECIMAL 、NUMERIC进行转换。
另外,当从数据库管理系统中读取数据时,还可以用getString()方法来获取DECIMAL 和 NUMERIC。
(3)BINARY, VARBINARY, 和 LONGVARBINARY在编程时无须精确区分这三种SQL数据类型,JDBC将他们统一影射为byte[]。
其中LONGVARBINARY和LONGVARCHAR相似,可以代表几兆字节的数据,超出数组的承受范围。
解决的办法依然是用Input Stream来接受数据。
(4)BIT代表一个二进制位的BIT类型被JDBC影射为boolean型。