Java和C#与SQL Server、MySQL和Oracle数据类型对照映射表

SQL Server、JDBC 和 Java 编程语言数据类型之间的默认映射


SQL Server 类型


JDBC 类型 (java.sql.Types)


Java 语言类型


bigint


BIGINT


long


timestamp

binary


BINARY


byte[]


bit


BIT


boolean


char


CHAR


String


decimal

money

smallmoney


DECIMAL


java.math.BigDecimal


float


DOUBLE


double


int


INTEGER


int


image

varbinary(max)


LONGVARBINARY


byte[]


varchar(max)

text


LONGVARCHAR


String


nchar


CHAR

NCHAR (Java SE 6.0)


String


nvarchar


VARCHAR

NVARCHAR (Java SE 6.0)


String


nvarchar(max)

ntext


LONGVARCHAR

LONGNVARCHAR (Java SE 6.0)


String


numeric


NUMERIC


java.math.BigDecimal


real


REAL


float


smallint


SMALLINT


short


datetime

smalldatetime


TIMESTAMP


java.sql.Timestamp


varbinary

udt


VARBINARY


byte[]


varchar


VARCHAR


String


tinyint


TINYINT


short


uniqueidentifier


CHAR


String


xml


LONGVARCHAR

SQLXML (Java SE 6.0)


String

SQLXML


time


TIME (1)


java.sql.Time (1)


date


DATE


java.sql.Date


datetime2


TIMESTAMP


java.sql.Timestamp


datetimeoffset (2)


microsoft.sql.Types.DATETIMEOFFSET


microsoft.sql.DateTimeOffset

Oracle和Java数据类型对应关系表

Mysql数据类型与java类型对应关系

Sql Server 数据类型与 C# 数据类型对照表


数据库


C#程序


int


int32


text


string


bigint


int64


binary


System.Byte[]


bit


Boolean


char


string


datetime


System.DateTime


decimal


System.Decimal


float


System.Double


image


System.Byte[]


money


System.Decimal


nchar


String


ntext


String


numeric


System.Decimal


nvarchar


String


real


System.Single


smalldatetime


System.DateTime


smallint


Int16


smallmoney


System.Decimal


timestamp


System.DateTime


tinyint


System.Byte


varbinary


System.Byte[]


varchar


String


Variant


Object


unique identifier


System.Guid

MySQL 数据类型与 C# 数据类型对照表


C#


MySQL


类型


库类型


GetFieldType(#)


转换


备注


bool


BOOL NOT NULL


Boolean


 


 


bool?


BOOL NULL


Boolean


 


 


sbyte


TINYINT NOT NULL


SByte


sbyte_


 


sbyte?


TINYINT NULL


SByte


sbyte_


 


byte


TINYINT UNSIGNED
NOT NULL


Byte


 


 


byte?


TINYINT UNSIGNED
NULL


Byte


 


 


short


SMALLINT NOT NULL


Int16


 


 


short?


SMALLINT NULL


Int16


 


 


ushort


SMALLINT UNSIGNED
NOT NULL


UInt16


ushort_


 


ushort?


SMALLINT UNSIGNED
NULL


UInt16


ushort_


 


int


INT NOT NULL


Int32


 


 


int?


INT NULL


Int32


 


 


uint


INT UNSIGNED NOT
NULL


UInt32


uint_


 


uint?


INT UNSIGNED NULL


UInt32


uint_


 


long


BIGINT NOT NULL


Int64


 


 


long?


BIGINT NULL


Int64


 


 


ulong


BIGINT UNSIGNED NOT
NULL


UInt64


ulong_


 


ulong?


BIGINT UNSIGNED
NULL


UInt64


ulong_


 


float


FLOAT NOT NULL


Single


 


极值溢出


float?


FLOAT NULL


Single


 


极值溢出


double


DOUBLE NOT NULL


Double


 


 


double?


DOUBLE NULL


Double


 


 


decimal


DECIMAL NOT NULL


Decimal


 


极值溢出


decimal?


DECIMAL NULL


Decimal


 


极值溢出


char


CHARACTER NOT NULL


String


 


中文报错


char?


CHARACTER NULL


String


 


中文报错


string


VARCHAR(50) NOT
NULL


String


 


 


string


VARCHAR(50) NULL


String


 


 


DateTime


DATETIME NOT NULL


DateTime


 


 


DateTime?


DATETIME NULL


DateTime


 


 

Oracle 数据类型与 C# 数据类型对照表


C#


Oracle


类型


库类型


GetFieldType(#)


转换


备注


bool


CHAR(1) NOT NULL


String


bool_string


 


bool?


CHAR(1)


String


bool_string


 


sbyte


NUMBER(3) NOT NULL


Int16


sbyte_short


 


sbyte?


NUMBER(3)


Int16


sbyte_short


 


byte


NUMBER(3) NOT NULL


Int16


byte_short


 


byte?


NUMBER(3)


Int16


byte_short


 


short


NUMBER(5) NOT NULL


Int32


short_int


 


short?


NUMBER(5)


Int32


short_int


 


ushort


NUMBER(5) NOT NULL


Int32


ushort_int


 


ushort?


NUMBER(5)


Int32


ushort_int


 


int


NUMBER(10) NOT NULL


Int64


int_long


 


int?


NUMBER(10)


Int64


int_long


 


uint


NUMBER(10) NOT NULL


Int64


uint_long


 


uint?


NUMBER(10)


Int64


uint_long


 


long


NUMBER(19) NOT NULL


Decimal


long_decimal


 


long?


NUMBER(19)


Decimal


long_decimal


 


ulong


NUMBER(19) NOT NULL


Decimal


ulong_decimal


 


ulong?


NUMBER(19)


Decimal


ulong_decimal


 


float


BINARY_FLOAT NOT NULL


Single


 


 


float?


BINARY_FLOAT


Single


 


 


double


BINARY_DOUBLE NOT NULL


Double


 


极值溢出


double?


BINARY_DOUBLE


Double


 


极值溢出


decimal


DECIMAL(33,3) NOT NULL


Decimal


 


 


decimal?


DECIMAL(33,3)


Decimal


 


 


char


CHAR(1) NOT NULL


String


 


 


char?


CHAR(1)


String


 


 


string


VARCHAR(50) NOT NULL


String


 


不允许空字符


string


VARCHAR(50)


String


 


不允许空字符


DateTime


TIMESTAMP NOT NULL


DateTime


 


大值读取报错


DateTime?


TIMESTAMP


DateTime


 


大值读取报错

原文地址:https://www.cnblogs.com/XuYiHe/p/12093214.html

时间: 2024-10-22 06:28:57

Java和C#与SQL Server、MySQL和Oracle数据类型对照映射表的相关文章

Java使用JDBC连接SQL Server数据库|实现学生信息系统

Java实验四 JDBC 使用SQL Server数据库或者MySQL数据库各自的客户端工具,完成如下任务: (1)创建数据库students: (2)在数据students中创建表scores,包括如下字段:学号.姓名.性别.得分,字段类型自行定义.学号为主键. 接着使用JDBC编写Java程序,完成如下任务: (1)在表格scores插入5条记录,代表5个学生,三位男生二位女生,各字段内容自定("得分"字段填入自定分数): (2)显示5位学生的所有信息: (3)将三位男生的得分减去

Bootstrap + AngularJS+ Ashx + SQL Server/MySQL

去年年底12月,为适应移动端浏览需求,花了1个月时间学习Bootstrap,并将公司ASP网站重构成ASP.NET. 当时采取的网站架构: Bootstrap + jQuery + Ashx + SQL Server 时间紧,没人带,只能硬着头皮,最后如期完成,但是也遗留了几个问题. 问题: 1.页面查询条件太复杂,太多的checkbox,jQuery操作DOM虽然方便,但是组合成json提交给后端还是比较麻烦,有没有天然支持json的前端框架或者脚本语言? html控件做的任何修改,都自动保存

Microsoft Access、MySQL 以及 SQL Server 所使用的数据类型和范围。

Microsoft Access.MySQL 以及 SQL Server 所使用的数据类型和范围. Microsoft Access 数据类型 数据类型 描述 存储 Text 用于文本或文本与数字的组合.最多 255 个字符.   Memo Memo 用于更大数量的文本.最多存储 65,536 个字符. 注释:无法对 memo 字段进行排序.不过它们是可搜索的.   Byte 允许 0 到 255 的数字. 1 字节 Integer 允许介于 -32,768 到 32,767 之间的数字. 2

SQL Server | Mysql 对表的unique 的实现方式

在ANSI SQL 标准中unique 有两种实现方式 1.是可以插入多个空值.也就是说多个null值看成是互不相同的. 2.是只可以插入一个空值,也主是说把所有的空值看也是相同的. 在SQL Server  |  MySQL 中实现的是第二种标准. 例子:(代码以SQL server 的语法为例) create table tmp(x int primary key , y int ); alter table   tmp add constraint unique_cons unique(y

通过SQL Server 2008 访问Oracle

之前写过一篇关于SQL Server 访问MySQL 数据库的文章,最近正好又遇到需要访问Oracle 的情况,将配置过程记录下来也供大家参考. 准备工作 事先在需要访问Oracle 数据库的主机上完成以下工作: 1. 安装SQL Server 数据库:SQL Server 2008 R2 Express 2. 安装Oracle 客户端访问程序:Oracle 10g Client 3. 配置Oracle 客户端tnsnames.ora 文件,其中需要注意文件中的数据库别名“ORADB”,该名称在

SQL SERVER 2008向ORACLE 11G迁移示例

来源于:http://www.cnblogs.com/hiizsk/ 由SQL SERVER 2008向ORACLE 11G迁移过程记录之一-表 使用Oracle Sql Developer将SQL SERVER 2008数据库移植到Oracle 11g(一) 使用Oracle Sql Developer将SQL SERVER 2008数据库移植到Oracle 11g(二) 使用Oracle Sql Developer将SQL SERVER 2008数据库移植到Oracle 11g(三) 使用O

玩转SQL Server复制回路の变更数据类型、未分区表转为分区表

玩转SQL Server复制回路の变更数据类型.未分区表转为分区表 复制的应用: 初级应用:读写分离.数据库备份 高级应用:搬迁大型数据库(跨机房).变更数据类型.未分区表转为分区表 京东的复制专家 菠萝 曾经写过文章.在数据库大会上也做过演讲,但是我相信真正按照菠萝兄的文章自己去做一次实验的人应该不多 京东的复制专家 菠萝 的文章地址:Replication的犄角旮旯(一)--变更订阅端表名的应用场景 为什麽要玩转复制,大家想象一下:变更数据类型.未分区表转为分区表 这些业务场景经常都会发生,

使用的 SQL Server 版本不支持数据类型“datetime2”解决办法

错误原因,在使用ado.net entity的时候,entity使用的数据库是sqlserver 2008,但后来实际使用中使用的数据库是sqlserver 2005 使用的 SQL Server 版本不支持数据类型“datetime2” The version of SQL Server in use does not support datatype ‘datetime2 解决办法 Open your EDMX in a file editor (or “open with…” in Vis

使用的 SQL Server 版本不支持数据类型“datetime2”.

错误原因,在使用ado.net entity的时候,entity使用的数据库是sqlserver 2008, 但后来实际使用中使用的数据库是sqlserver 2005, 使用的 SQL Server 版本不支持数据类型“datetime2” The version of SQL Server in use does not support datatype ‘datetime2 解决办法 Open your EDMX in a file editor (or “open with…” in V