下表是对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) |