常用存储间类型对照,包含mysql,clickhouse,oracle,hive,flink SQL

不同存储间数据传输的时候,类型匹配是个很让人头疼的事情,笔者总结了常用几种存储的类型对照,以供参考。有不准确的地方,欢迎批评指正~

Java类型MySQL类型ClickHouse类型Oracle类型Hive类型Flink SQL类型
booleanboolean
tinyint(1)
UInt8NUMBER(1)booleanBOOLEAN
bytetinyintInt8NUMBER(3,0)tinyintTINYINT
shortsmallint
tinyint unsigned
Int16
uint8
NUMBER(5,0)smallintSMALLINT
intint
mediumint
smallint unsigned
mediumint unsigned
Int32
uint16
NUMBER(10,0)intINT
longbigint
int unsigned
Int64
UInt32
NUMBER(20,0)bigintBIGINT
bigint
java.math.BigInteger
bigint unsigned
mysql官网不建议使用
Int128
Int256
uInt64
uInt128
uInt256
不支持(java.sql.Types不支持,因此Flink SQL也不支持,DataStream api中的TypeInformation是支持的)
floatfloat
float unsigned(官网不建议使用
Float32BINARY_FLOATfloatFLOAT
doubledouble
double unsigned(官网不建议使用
Float64BINARY_DOUBLEdoubleDOUBLE
Stringvarchar
char
text
tinytext
mediumtext
longtext
String
uuid
fixedString
VARCHAR2
NVARCHAR2
CHAR
NCHAR
LONG
stringSTRING
VARCHAR
decimaldecimal
numeric
precision
DecimalNUMBER
FLOAT
DECIMAL
datedate
year
DateDATE
timetimeTIME(0)
timestamptimestamp
datetime
datetime64date(与mysql类型有歧义)timestampTIMESTAMP
byte[]blob
binary
varbinary
tinyblob
mediumblob
longblob
RAWBYTES

  • 对照表中每格第一个为优先级最高的,一对多时优先选择
  • 对照不出来的,一律对照成String,此时需要进行类型强转(表示该存储没有可以直接对照的数据类型)
  • mysql bigint unsigned官网不建议适用,并且明确说明应使用String存储https://dev.mysql.com/doc/refman/8.0/en/numeric-type-syntax.html`

参考文档

【1】Mysql与Flink类型对照
【2】ClickHouse与Flink类型对照
【3】Oracle字段类型与java对象类型对照表

  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值