下表是对PostgreSQL各种数据类型,如何通过JDBC读取数据,并转换为文本输出的方法。
类型分类 | 数据类型 | 建议数据导出处理方式 |
数值类型 | smallint | 1、取值使用java.sql.ResultSet.getInt(i) 2、转换为文本格式:数字串(不带双单引号) |
integer | ||
bigint | 1、取值使用java.sql.ResultSet.getLong(i) 2、转换为文本格式:数字串(不带双单引号) |
|
decimal | 1、取值使用java.sql.ResultSet.getBigDecimal(i) 2、转换为文本格式:数字串(不带双单引号) |
|
numeric | ||
real | 1、取值使用java.sql.ResultSet.getFloat(i) 2、转换为文本格式:数字串(不带双单引号) |
|
double precision | 1、取值使用java.sql.ResultSet.getDouble(i) 2、转换为文本格式:数字串(不带双单引号) |
|
smallserial | 1、取值使用java.sql.ResultSet.getInt(i) 2、转换为文本格式:数字串(不带双单引号) |
|
serial | ||
bigserial | 1、取值使用java.sql.ResultSet.getLong(i) 2、转换为文本格式:数字串(不带双单引号) |
|
金额类型 | money | 1、取值使用java.sql.ResultSet.getDouble(i) |
字符串类型 | character varying(n), varchar(n) | 1、取值使用java.sql.ResultSet.getString(i) 2、转换为文本格式:数字串(不带双单引号) |
character(n), char(n) | ||
text | ||
二进制类型 | bytea | 1、取值使用java.sql.ResultSet.getBytes(i) |
时间类型 | timestamp [ (p) ] [ without time zone ] | 1、取值使用java.sql.ResultSet.getTimestamp(i) |
timestamp [ (p) ] with time zone | ||
date | 1、取值使用java.sql.ResultSet.getDate(i) | |
time [ (p) ] [ without time zone ] | 1、取值使用java.sql.ResultSet.getTime(i) | |
time [ (p) ] with time zone | ||
interval [ fields ] [ (p) ] | 1、使用getObject(i)格式为'x years x mons x days x hours x mins x secs' 2、使用getString(i)格式为'x years x mons x days HH:mm:ss' |
|
布尔类型 | boolean | 1、取值使用java.sql.ResultSet.getString(i) |
枚举类型 | enum | |
几何类型 | point | |
line | ||
lseg | ||
box | ||
path | ||
polygon | ||
circle | ||
网络地址类型 | cidr | |
inet | ||
macaddr | ||
macaddr8 | ||
比特类型 | bit | |
varbit | ||
其它 | tsvector | |
tsquery | ||
uuid | ||
xml | 1、取值使用java.sql.ResultSet.getSQLXML(i) 2、解析XML返回给前端 |
|
json | 1、取值使用java.sql.ResultSet.getString(i) | |
jsonb | ||
数组 | array | 1、取值使用java.sql.ResultSet.getArray(i) |