| Java类 | MySQL | Oracle | 字节 | 范围 |
| Character | char(1) | char(1) | 2 | 0~65535 |
| String | varchar(255) | varchar2(255) | ||
| String-clob | longtext | clob | ||
| Date-date | date | date | ||
| Date-time | time | date | ||
| Date-timestamp | datetime | date | ||
| Boolen | tinyint(1) | number(1) | 1 | true|false |
| Byte | tinyint(4) | number(3) | 1 | -128~127 |
| Short | smallint(6) | number(5) | 2 | -32768~32767 |
| Integer | int(11) | number(10) | 4 | -2147483648~2147483647 |
| Long | bigint(20) | number(19) | 8 | -9223372036854775808 ~ 9223372036854775807 |
| Float | float | float | 4 | -3.4E38~3.4E38 |
| Double | double | float | 8 | -1.7E308~1.7E308 |
| BigDecimal | decimal(19,2) | number(19,2) | ||
| byte[]-blob | longblob | clob |
Float, Double尽量用BigDecimal替代,避免引起精度问题
Boolean在数据库中有很多种表示方式,如0|1, Y|N, YES|NO, 甚至用是|否表示 ,所以可以用number(1), char(1)甚至varchar2表示
为什么MySQL和Oracle相差1,看了下面了你应该知道:
|
类型 |
字节 |
最小值 |
最大值 |
|
|
|
(带符号的/无符号的) |
(带符号的/无符号的) |
|
TINYINT |
1 |
-128 |
127 |
|
|
|
0 |
255 |
|
SMALLINT |
2 |
-32768 |
32767 |
|
|
|
0 |
65535 |
|
MEDIUMINT |
3 |
-8388608 |
8388607 |
|
|
|
0 |
16777215 |
|
INT |
4 |
-2147483648 |
2147483647 |
|
|
|
0 |
4294967295 |
|
BIGINT |
8 |
-9223372036854775808 |
9223372036854775807 |
|
|
|
0 |
18446744073709551615 |

本文详细对比了Java类型与MySQL、Oracle数据库类型的映射关系,包括字符、字符串、日期、布尔、数值等常见类型,并提供了每种类型的字节大小及取值范围。
1万+

被折叠的 条评论
为什么被折叠?



