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

   2023-02-09 学习力0
核心提示:SQL Server、JDBC 和 Java 编程语言数据类型之间的默认映射SQL Server 类型JDBC 类型 (java.sql.Types)Java 语言类型bigintBIGINTlongtimestampbinaryBINARYbyte[]bitBITbooleancharCHARStringdecimalmoneysmallmoneyDECIMALjava.math.BigDecimalfloatDOUBLEd

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数据类型对应关系表

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

 

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

 

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

 

大值读取报错

 

 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • sql:mysql:函数:TIMESTAMPDIFF函数实现TimeStamp字段相减,求得时间差
    sql:mysql:函数:TIMESTAMPDIFF函数实现TimeS
     函数内指定是minute,则最终结果value值的单位是分钟,如果函数内指定为hours,则最终结果value值单位为小时。//UPLOAD_TIME 减去 CREATE_DTTM 求得时间差,以分钟数计时select avg(TIMESTAMPDIFF(MINUTE,CREATE_DTTM,UPLOAD_TIME)) value,LEFT(CREATE_DTTM
    03-08
  • 去重复的sql(Oracle) 去重复的英文
    1.利用group by 去重复2.可以利用下面的sql去重复,如下  1) select id,name,sex from (select a.*,row_number() over(partition by a.id,a.set order by name) su from test a ) where su=1  2)select id,name,sex from (select a.*,row_number() over(p
    02-10
  • Oracle SQL七次提速技巧
    以下SQL执行时间按序号递减。1,动态SQL,没有绑定变量,每次执行都做硬解析操作,占用较大的共享池空间,若共享池空间不足,会导致其他SQL语句的解析信息被挤出共享池。create or replace procedure proc1as beginfor i in 1..100000 loop    execute imme
    02-10
  • Oracle\SQL  Server等及其他基本语句写法
    Oracle\SQL Server等及其他基本语句写法
    Oracle\SQL  Server等及其他基本语句写法目录一.Excel相关 11.Excel中写脚本范例: 12.提取字节 23. 提取单元格内字符 24.VLOOKUP函数: 2二.SQL语句汇总 21.建表: 22.增 33.删 44.查 65.改 236.Alter的应用 24三.数据库备份与恢复脚本 261. Oracle: 2
    02-10
  • SQL ORACLE case when函数用法
    case when 用法(1)简单case函数:格式:  case 列名   when 条件值1 then 选项1  when 条件值1 then 选项2......  else 默认值 end例如:  select   case job_level  when '1' then '1111'  when '2' then '2222'   when '3' then '3333
    02-10
  • mysql下如何执行sql脚本 执行SQL脚本
    1.编写sql脚本,假设内容如下:  create database dearabao;  use dearabao;  create table niuzi (name varchar(20));  保存脚本文件,假设我把它保存在F盘的hello world目录下,于是该文件的路径为:F:\hello world\niuzi.sql2.执行sql脚本,可以有2种方法: 
    02-10
  • MySQL 5.7版本sql_mode=only_full_group_by问题
    用到GROUP BY 语句查询时com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'col_user_6.a.START_TIME' which is not functionally dependent on colu
    02-10
  • Oracle迁移到MySQL性能下降的注意点 oracle数据
    背景:最近有较多的客户系统由原来由Oracle改造到MySQL后出现了性能问题CPU 100%,或是后台的CRM系统复杂SQL在业务高峰的时候出现堆积导致业务故障。在我的记忆里面淘宝最初从Oracle迁移到MySQL期间也遇到了很多SQL的性能问题,记忆最为深刻的子查询,当初的
    02-10
  • ORACLE中通过SQL语句(alter table)来增加、删除
    1.添加字段:alter table  表名  add (字段  字段类型)  [ default  '输入默认值']  [null/not null]  ;2.添加备注:comment on column  库名.表名.字段名 is  '输入的备注';  如: 我要在ers_data库中  test表 document_type字段添加备注  comm
    02-10
  • MySQL与Oracle 差异比较之六触发器
    触发器编号类别ORACLEMYSQL注释1创建触发器语句不同create or replace trigger TG_ES_FAC_UNIT  before insert or update or delete on ES_FAC_UNIT  for each rowcreate trigger `hs_esbs`.`TG_INSERT_ES_FAC_UNIT` BEFORE INSERT on `hs_esbs`.`es_fac_u
    02-10
点击排行