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。
数据库迁移及区别比较(Oracle,Sql Server,MySql)
数据库迁移及及区别(Oracle,MySQL,SQLServer)/brightmart徐亮,2011-4-1导言:最近的数据超市项目需要从SQLServer迁移到MySql。
在之前并没有很多数据库迁移方面的经验,所以也不知道迁移需要花费多久,都要做什么工作。
通过几天的工作,项目已经顺利迁移到MySql上。
该文档总结了迁移的经验,同时也方便以后数据库迁移。
1、数据库迁移需要做的工作1.1 建表脚本修改1.2 数据导入(编码、数据类型设置)1.3 项目中的SQL修改1.4 数据库连接(驱动)1.5 连接项目中的程序,测试并修改程序2、常用数据库中在开发方面的不同2.1 数据类型2.2 自增2.3 分页2.4 内置函数2.5 模糊查询3、ORM工具与迁移使用hibernate、ibatis,在数据库迁移中的不同效率4、各数据库的不同数据类型比较及参考资料4.1、MySQL中的建表SQL4.2、Java到SQL数据类型影射表4.3、MySql与Oracle数据类型的相互转化4.4、ORACLE与SQLSERVER、MYSQL的数据类型对照表1、数据库迁移需要做的工作1、1 数据库建表脚本的修改1.1.1 由于各种数据库的数据类型并不相同,需要更改部分数据类型。
1.1.2 在MySQL脚本里暂不能给日期数据设置当前时间,字段如:registertime(注册时间);需在程序中设置当前日期,再保存进数据库或将registertime设置为时间戳(timestamp)1.1.3 在MySQL里的表和字段的注释,见【5】中的建表语句。
1、2 将数据导入到目标数据库的中(其中可以需要修改数据类型)1.2.1设置数据库的编码,防止中文乱码1)、最简单的修改方法,就是修改mysql的my.ini文件中的字符集键值,如:default-character-set = utf8(character_set_server = utf8)修改完后,重启mysql的服务,service mysql restart2)、还有一种修改字符集的方法,就是使用mysql的命令,如:mysql> SET character_set_client = utf8 ;mysql> SET character_set_connection = utf8 ;mysql> SET character_set_database = utf8 ;mysql> SET character_set_results = utf8 ;mysql> SET character_set_server = utf8 ;mysql> SET collation_connection = utf8 ;mysql> SET collation_database = utf8 ; mysql> SET collation_server = utf8 ;如果:没有设置前两条,可以通过以下方式实现编码:a 建数据库时设置数据库支持的编码:create database datmart charset=utf8;b 使用数据库datmart use datmart;c 插入中文数据时,需要先设置:set names utf8;d 将数据导入sourced:\datmart.sql(每个见表语句后加:ENGINE=MyISAM DEFAULT CHARSET=utf8;)1.2.2 数据类型即使MySQL中有bit,但SQLServer中的bit类型(取0或1,分别对应了bool的true和false)的变量在MySQL中,不能顺利导入。
MySQL 数据类型 (列表)
MySQL数据类型(列表)数据类型描述字节推荐使用SMALLINT整数,从-32000到+32000范围2存储相对比较小的整数。
比如:年纪,数量INT整数,从-2000000000到+2000000000范围4存储中等整数例如:距离BIGINT不能用SMALLINT或INT描述的超大整数。
8存储超大的整数例如:科学/数学数据FLOAT单精度浮点型数据4存储小数数据例如:测量,温度DOUBLE双精度浮点型数据8需要双精度存储的小数数据例如:科学数据DECIMAL用户自定义精度的浮点型数据变量;取决于精度与长度以特别高的精度存储小数数据。
例如:货币数额,科学数据CHAR固定长度的字符串特定字符串长度(高达255字符)存储通常包含预定义字符串的变量例如:定期航线,国家或邮编VARCHAR具有最大限制的可变长度的字符串变量;1+实际字符串长度(高达255字符)存储不同长度的字符串值(高达一个特定的最大限度).例如:名字,密码,短文标签TEXT没有最大长度限制的可变长度的字符串Variable;2+聽actual stringlength存储大型文本数据例如:新闻故事,产品描述BLOB二进制字符串变量;2+实际字符串长度存储二进制数据例如:图片,附件,二进制文档DATE以yyyy-mm-dd格式的日期3存储日期例如:生日,产品满期TIME以hh:mm:ss格式的时间3存储时间或时间间隔例如:报警声,两时间之间的间隔,任务开始/结束时间DATETIME以yyyy-mm-ddhh:mm:ss格式结合日期和时间8存储包含日期和时间的数据例如:提醒的人,事件TIMESTAMP以yyyy-mm-ddhh:mm:ss格式结合日期和时间4记录即时时间例如:事件提醒器,“最后进入”的时间标记YEAR以yyyy格式的年份1存储年份例如:毕业年,出生年ENUM一组数据,用户可从中选择其中一个1或2个字节存储字符属性,只能从中选择之一例如:布尔量选择,如性别SET一组数据,用户可从中选择其中0,1或更多。
sql server的基本数据类型
SQL Server 是一种流行的关系型数据库管理系统(RDBMS),广泛用于企业级应用程序和网站的后端。
在SQL Server 中,数据类型是定义表和列的基本元素之一,用于存储不同类型的数据。
SQL Server 提供了许多不同的数据类型,包括数字、日期/时间、字符串、二进制、XML等。
以下是一些常用的SQL Server 基本数据类型:
1. 整数数据类型:用于存储整数,包括INT、SMALLINT、TINYINT 和BIGINT。
2. 浮点数据类型:用于存储十进制小数,包括REAL、FLOAT、DECIMAL 和NUMERIC。
3. 二进制数据类型:用于存储二进制数据,包括BINARY 和VARBINARY。
4. 逻辑数据类型:用于存储布尔值,包括BIT。
5. 字符数据类型:用于存储各种字母、数字符号、特殊符号,包括CHAR、NCHAR、VARCHAR 和NVARCHAR。
6. 文本和图形数据类型:用于存储大量的字符或二进制数据,包括TEXT、NTEXT 和IMAGE。
7. 日期和时间数据类型:用于存储日期和时间值,包括DATETIME 和SMALLDATETIME。
8. 货币数据类型:用于存储货币值,包括MONEY 和SMALLMONEY。
mysql和Oracle数据类型对照
mysql和Oracle数据类型对照MySQL与Oracle两种数据库在⼯作中,都是⽤的⽐较多的数据库,由于MySQL与Oracle在数据类型上有部分差异,在我们迁移数据库时,会遇上⼀定的⿇烦,下⾯介绍MySQL与Oracle数据库数据类型的对应关系。
⼀、常见数据类型在MySQL与Oracle数据库中的表现形式说明mysql oracle变长字符串VARCHAR[0-65535]定义长度默认按字符长度计算,如果是GBK编码的汉字将占⽤2个字节VARCHAR2[1-4000]VARCHAR是VARCHAR2的同义词定义默认按字节长度计算整数TINYINT(-128-127)SMALLINT(-32768-32767)MEDIUMINT(-8388608-8388607)INT(-2147483648-2147483647)BIGINT(-9223372036854775808-9223372036854775807)⽆专⽤类型,TINYINT可以⽤NUMBER(3,0)代替SMALLINT可以⽤NUMBER(5,0)代替MEDUIMINT可以⽤NUMBER(7,0)代替INT可以⽤NUMBER(10,0)代替BIGINT可以⽤NUMBER(20,0)代替ORACLE中有SMALLINT,INT,INTEGER类型,不过这是NUMBER(38,0)的同义词数值类型DECIMAL[1-65[,0-30]]NUMERIC是DECIMAL的同义词NUMBER 可表⽰数范围: 1*10^-130⾄1*10^126NUMBER([1-38][,-84-127])DECIMAL、NUMERIC、DEC是NUMBER的同义词浮点型FLOAT(D,M)oracle10g开始增加BINARY_FLOAT类型10g以前⽆专⽤类型,可以⽤NUMBER代替ORACLE中有FLOAT和REAL类型,不过这是NUMBER的同义词双精度浮点型DOUBLE(D,M)oracle10g开始增加BINARY_DOUBLE类型10g以前⽆专⽤类型,可以⽤NUMBER代替ORACLE中有DOUBLE PRECISION类型,不过这是NUMBER的同义词位类型BIT(1-64)⽆DATE,3字节存储,只存储⽇期,没有时间,⽀持范围是[1000-01-01]⾄[9999-12-31]TIME,3字节存储,只存储时⽇期类型TIME,3字节存储,只存储时间,没有⽇期,⽀持范围是[-838:59:59]⾄[838:59:59]DATETIME,占8字节存储,可表⽰⽇期和时间,⽀持范围是[1000-01-01 00:00:00]⾄[9999-12-31 23:59:59]TIMESTAMP,占4字节存储,可表⽰⽇期和时间,范围是[1970-01-01 00:00:00]⾄[2038-01-19 03:14:07]DATE类型7字节存储,可表⽰⽇期和时间,⽀持范围是[-4712-01-01 00:00:00]⾄[9999-12-31 23:59:59]⾼精度⽇期5.6.4以前不⽀持⼩数秒精度5.6.4开始TIME,DATETIME,TIMESTAMP⽀持,最多可以6位⼩数秒,也就是微秒级别TIMESTAMP[0-9]占⽤空间7-11个字节,当⼩数秒精度为0时与DATE类型相同,⼩数秒最⾼精度可达9位,也就是纳精度年份份,⽀持范围是[1901]⾄[2155]⽆对应类型,可以⽤NUMBER(3,0)代替定长字符串CHAR[0-255],定义长度默认按字符长度计算,最⼤保存255字符CHAR[1-2000]定义默认按字节长度计算⽆符号说明⽀持,⽤于数值类型不⽀持⼤字符串,⼀般⽤于存储⽂本⽂件或超⼤描述及备注类信息TINYTEXT 最⼤⽀持255个字节TEXT最⼤⽀持65535个字节MEDIUMTEXT最⼤⽀持16MB个字节LONGTEXT最⼤⽀持4GB字节字段不⽀持默认值⽀持(CLOB)oracle10g以前最⼤⽀持4GB个字节oracle10g开始最⼤⽀持4GB个数据块,数据块⼤⼩为2KB-32KBoracle还有⼀个LONG类型,是早期的存储⼤字符串类型,最⼤⽀持2GB字节,现已不推荐使⽤⼆进制对象,⼀般⽤于存储⽂件或图⽚数据TINYBLOB 最⼤⽀持255个字节BLOB最⼤⽀持65535个字节MEDIUMBLOB最⼤⽀持16MB个字节LONGBLOB最⼤⽀持4GB字节字段不⽀持默认值⽀持(BLOB)oracle10g以前最⼤⽀持4GB个字节oracle10g开始最⼤⽀持4G个数据块,数据块⼤⼩为2KB-32KBoracle还有⼀个LONGRAW类型,是早期的存储⼆进制类型,最⼤⽀持2GB字节,现已不推荐使⽤⼆进制信息BINARY(0-255),定长VARBINARY(0-65535),变长RAW(1-2000)枚举类型ENUM(v1,v2,v3,...),最多65535个元素不⽀持集合类型SET(v1,v2,v3,...),最多64个元素不⽀持国际化字符集类型,较少使⽤⽆,MYSQL可以对每个字段指定字符编码⽀持NCHAR(1-2000) NVARCHAR(1-4000)外部⽂件指针类型不⽀持⽀持⽂件⼤⼩最⼤4GB⽂件名称最长255字符不⽀持⽀持⾃动增长类型⽀持使⽤简单不⽀持⼀般使⽤SEQUENCE解决,⽤法与⾃增类型差别较⼤,使⽤较复杂,但能实现⾮常灵活的应⽤,包括字符⾃增主键、全局主括字符⾃增主键、全局主键等等不⽀持函数和表达式TEXT和BLOB字段类型不⽀持默认值⽀持函数和表达式⽀持,例如,把emp表的id字段顺序放在name字段后⾯:alter table emp modify column id varchar(20) after name;不⽀持,只能重建表或字段虚拟字段是⼀个逻辑字段定义,其结果值通常是⼀个表达式,并在表中存储物理值,不占⽤空间,主要⽤于简化查询逻辑。
SQLserver、MySQL、ORCAL查询数据库、表、表中字段以及字段类型
SQLserver、MySQL、ORCAL查询数据库、表、表中字段以及字段类型⼀、SQLServer命令1、查询SQLServer中的每个数据库SELECT * from sysdatabases2、查询SQLServer中指定数据库的所有表名select name from CFS.. sysobjects where xtype='u' #注意:CFS 是数据库名称3、查询表中的字段以及字段类型select COLUMN_name as name,data_type as typefrom INFORMATION_SCHEMA.COLUMNSwhere table_name = '表名'⼆、MySQL命令1、查询MySQL中的每个数据库show DATABASES2、查询MySQL中指定数据库的所有表名select table_name as namefrom information_schema.tableswhere table_schema = '数据库名' and table_type = 'base table'3、查询表中的字段以及字段类型select COLUMN_NAME as name,DATA_TYPE as type from information_schema.columns where table_schema='表名'三、ORCAL命令1、查询ORCAL中的每个数据库select * from v$tablespace2、查询ORCAL中指定数据库的所有表名select * from user_tables;3、查询表中的字段以及字段类型select column_name from user_tab_columns where table_name = 'table_name';--表名要全⼤写。
sqlserver数字类型
sqlserver数字类型1. tinyint类型tinyint类型是一种用于存储范围在0到255之间的整数的数据类型。
它通常用于表示小范围的整数值,比如性别、状态等。
由于占用的存储空间较小,使用tinyint类型可以有效地节省存储空间。
2. smallint类型smallint类型是一种用于存储范围在-32,768到32,767之间的整数的数据类型。
它通常用于表示中等范围的整数值,比如年份、月份等。
smallint类型占用更多的存储空间,但相对于int类型来说,它的取值范围更小,可以更好地满足特定场景的需求。
3. int类型int类型是一种用于存储范围在-2,147,483,648到2,147,483,647之间的整数的数据类型。
它是SQL Server中最常用的整数类型之一,通常用于表示大范围的整数值,比如订单号、用户ID等。
int 类型占用更多的存储空间,但相对于bigint类型来说,它的取值范围更小。
4. bigint类型bigint类型是一种用于存储范围在-9,223,372,036,854,775,808到9,223,372,036,854,775,807之间的整数的数据类型。
它通常用于表示超大范围的整数值,比如全球唯一标识符(UUID)等。
bigint类型占用最多的存储空间,但在需要存储非常大的整数值时,它是最合适的选择。
5. decimal类型decimal类型是一种用于存储精确数值的数据类型,它可以指定总共的位数和小数位数。
decimal类型适用于需要进行精确计算的场景,比如货币金额、利率等。
由于decimal类型具有固定的精度和范围,它可以避免浮点数计算中的精度丢失问题。
6. numeric类型numeric类型与decimal类型类似,也是一种用于存储精确数值的数据类型。
它们的主要区别在于存储空间的分配方式不同,但在实际使用中,两者可以互相替换。
7. float类型float类型是一种用于存储近似数值的数据类型,它可以表示很大或很小的数值范围,并且具有较高的精度。
sqlserver数据类型汇总
Sql server数据类型汇总2.1数据类型2.2.1整形整形按其存储区间又分为int、tinyint、smallint、bigint四种类型,其中int是最常用的类型。
1intint类型存储从-2^31~2^31-1之间的所有正负整数。
每个int类型占4个字节空间。
2tinyinttinyint存储从0~255之间所有正整数。
每个tinyint类型占1个字节空间3smallintsmallint存储从-2^15~2^15-1之间的所有正负整数。
每个smallInt类型占2个字节的空间。
4bigintbigint存储从-2^63~2^63-1之间的所有正负整数。
每个bigint类型占8个字节的空间。
2.2.2浮点型1real可以精确到小数点后7位小数,每个real类型占4个字节。
2float可以精确到小数点后15位小数,每个float类型占8个字节。
3decimaldecimal可以指定小数点后的位数,具体声明方法为decimal(w,d),其中i代表变量全部的位数,d代表小数的位数。
如这样声明一个变量v(15,5),就代表这个变量整体长度15位,小数点后有5位,很明显,整数部分应该是10位。
4numeric这个类型和decimal一模一样。
2.2.3字符型字符型变量是用来存储字母、数字符号、特殊符号等,在T-SQL中,字符型数据要用一对英文单引号(‘’)引起,如’sql server 2005’。
字符型数据声明的时候就需要给它指定长度,如char(5),char是类型,5是数据长度。
1charChar类型存储的均为ANSI字符,其中每个字符占一个字节,n的最大长度为8000。
Char 定义的数据固定长度,若实际数据长度不够定义长度,会在数据后面自动补齐空格。
若超出定义长度,则截断超出的部分。
如定义一个char型变量PhoneNumber(11),若有个电话号码是123456六位,那么PhoneNumber=’123456’,依然是11位。
SQLServer数据类型一览表
SQLServer数据类型一览表SQL Server数据类型一览表Binary [(n)]·Varbinary [(n)]·Char [(n)]·Varchar[(n)]·Nchar[(n)] 存储unicode编码的固定长度字符·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·Ntext1、二进制数据类型二进制数据由十六进制数表示,可以使用binary、varbinary和image 数据类型存储。
·binary 固定长度(最多为8K)的二进制数据类型。
binary [ ( n ) ]固定长度的n 个字节二进制数据。
N 必须从 1 到8,000。
存储空间大小为n+4 字节。
·varbinary可变长度(最多为8K)的二进制数据类型。
varbinary [ ( n ) ]n 个字节变长二进制数据。
n 必须从1 到8,000。
存储空间大小为实际输入数据长度+4个字节,而不是n 个字节。
输入的数据长度可能为0 字节。
在SQL-92 中varbinary的同义词为binary varying。
·image 用来存储长度超过8 KB 的可变长度的二进制数据。
除非数据长度超过8KB,否则一般宜用varbinary类型来存储二进制数据。
mySQL和oracle的数据类型区别
mySQL和oracle的数据类型区别1.mySQL和oracle的数据类型区别?1)MYSQL⽇期字段分DATE和TIME两种,ORACLE⽇期字段只有DATE2)MYSQL: float(m,d) 单精度浮点型 8位精度(4字节) m总个数,d⼩数位 int(m) 4个字节范围(-2147483648~2147483647) double(m,d) 双精度浮点型 16位精度(8字节) m总个数,d⼩数位 char(n) 固定长度,最多255个字符 varchar(n) 固定长度,最多65535个字符 tinytext 可变长度,最多255个字符 text 可变长度,最多65535个字符 mediumtext 可变长度,最多2的24次⽅-1个字符 longtext 可变长度,最多2的32次⽅-1个字符 date ⽇期 '2008-12-2' time 时间 '12:25:36' datetime ⽇期时间 '2008-12-2 22:06:44' timestamp ⾃动存储记录修改时间3)ORACLE: CHAR 固定长度字符串最⼤长度2000bytes VARCHAR2 可变长度的字符串, 最⼤长度4000bytes 可做索引的最⼤长度749 NCHAR 根据字符集⽽定的固定长度字符串最⼤长度2000bytes NVARCHAR2 根据字符集⽽定的可变长度字符串最⼤长度4000bytes DATE ⽇期(⽇-⽉-年) DD-MM-YY(HH-MI-SS),经过严格测试,⽆千⾍问题 TIMESTAMP ⽇期(⽇-⽉-年) DD-MM-YY(HH-MI-SS:FF3),经过严格测试,⽆千⾍问题与DATE相⽐较,TIMESTAMP有⼩数位秒信息 LONG 超长字符串最⼤长度2G,⾜够存储⼤部头著作 BLOB ⼆进制数据最⼤长度4G CLOB 字符数据最⼤长度4G ROWID 数据表中记录的唯⼀⾏号 10bytes xxxx.xxx.xxx格式,x为0或1 NROWID ⼆进制数据表中记录的唯⼀⾏号最⼤长度4000bytes NUMBER(P,S) 数字类型 P为整数位,S为⼩数位 FLOAT 浮点数类型 NUMBER(38),双精度 REAL 实数类型 NUMBER(63),精度更4)CHAR,VARCHAR,VARCHAR2他们的区别? CHAR是定长的,即:⽐⽅其长度为10,我们存⼊6个长度,那么剩余的4个长度的位置就会⽤空格被补齐; VARCHAR是标准的SQL数据类型,是变长的,即:⽐⽅长度为10,我们存⼊6个长度,那么剩余的4个就会被截掉; VARCHAR2是Oracle独有的数据类型,同VARCHAR⼀样是变长的.可能还有些没有列出。
SQLServer的数据类型
SQLServer的数据类型第⼀⼤类:整数数据bit:bit数据类型代表0,1或NULL,就是表⽰true,false.占⽤1byte.int:以4个字节来存储正负数.可存储范围为:-2^31⾄2^31-1.smallint:以2个字节来存储正负数.存储范围为:-2^15⾄2^15-1tinyint: 是最⼩的整数类型,仅⽤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.。
- 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型。