
# 数据类型转换规则
数据类型、JAVA变量类型以及JDBC类型索引关系如[表1](https://support.huaweicloud.com/distributed-devg-v10-gaussdb/gaussdb-12-0309.html#ZH-CN_TOPIC_0000002590200282__table155041418155212)所示。
- 非透明多写特性下，兼容ORA/MYSQL。
![](https://support.huaweicloud.com/distributed-devg-v10-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
- 发送到服务端的类型非最终存储到数据库表中的类型，下表中发送到数据库的类型对应到数据库表中的类型请参见《参考》中"SQL参考 \> 类型转换 \> 值存储"章节，其中的类型转换规则同样适用于MYSQL兼容模式。
- JDBC连接参数详情请参见[连接参数参考](https://support.huaweicloud.com/distributed-devg-v10-gaussdb/gaussdb-12-0086.html)。
 
 表1PrepareStatement类set接口数据转换规则 
| JDBC接口                                                                                                                                                                                           | 兼容模式      | 目标参数名                   | 目标参数JAVA变量类型         | 条件                                                                                                                                                                                                                                                                                                                                                                                                                                           | 发送到数据库的类型                                                                                                                         | 备注                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|:---|:---|:---|:---|
| setNull(int parameterIndex, int sqlType)                                                                                       | ORA/MYSQL | int sqlType             | java.lang.Integer    | -                                                                                                                                                                                                                                                                                                                                                                                                                                            | 接口参数sqlType传入值对应发送到数据库类型请参见[表2]。                                              | sqlType为java.sql.Types中定义的sql类型值。                                                                                                                                                                                                                                                                                                                                                    |
| void setNull(int parameterIndex, int sqlType, String typeName)                                                                                                                                   | ORA/MYSQL | int sqlType             | java.lang.Integer    | 参数String typeName=null                                                                                                                                                                                                                                                                                                                                                                                                                       | 请参见[表2]。                                                                      | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setBoolean(int parameterIndex, boolean x)                                                                                 | ORA/MYSQL | boolean x               | java.lang.Boolean    | 连接参数use_boolean=true                                                                                                                                                                                                                                                                                                                                                                                                                         | BOOL                                                                                                                              | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setBoolean(int parameterIndex, boolean x)                                                                                 | ORA/MYSQL | boolean x               | java.lang.Boolean    | 连接参数use_boolean=false（默认）                                                                                                                                                                                                                                                                                                                                                                                                                    | INT2                                                                                                                              | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setByte(int parameterIndex, byte x)                                                                                           | ORA/MYSQL | byte x                  | byte                 | -                                                                                                                                                                                                                                                                                                                                                                                                                                            | INT2                                                                                                                              | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setShort(int parameterIndex, short x)                                                                                     | ORA/MYSQL | short x                 | java.lang.Short      | -                                                                                                                                                                                                                                                                                                                                                                                                                                            | INT2                                                                                                                              | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setInt(int parameterIndex, int x)                                                                                             | ORA/MYSQL | int x                   | java.lang.Integer    | -                                                                                                                                                                                                                                                                                                                                                                                                                                            | INT4                                                                                                                              | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setLong(int parameterIndex, long x)                                                                                           | ORA/MYSQL | long x                  | java.lang.Long       | -                                                                                                                                                                                                                                                                                                                                                                                                                                            | INT8                                                                                                                              | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setFloat(int parameterIndex, float x)                                  | ORA       | float x                 | java.lang.Float      | 连接参数binaryTransfer=true                                                                                                                                                                                                                                                                                                                                                                                                                      | FLOAT4                                                                                                                            | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setFloat(int parameterIndex, float x)                                  | ORA       | float x                 | java.lang.Float      | 连接参数binaryTransfer=false（默认） 并且连接参数setFloat=true                                                                                                                                                                                                                                                                                                                                             | FLOAT4                                                                                                                            | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setFloat(int parameterIndex, float x)                                  | ORA       | float x                 | java.lang.Float      | 连接参数binaryTransfer=false（默认） 并且连接参数setFloat=false（默认）                                                                                                                                                                                                                                                                                                                                          | FLOAT8                                                                                                                            | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setFloat(int parameterIndex, float x)                                  | MYSQL     | float x                 | java.lang.Float      | -                                                                                                                                                                                                                                                                                                                                                                                                                                            | FLOAT4                                                                                                                            | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setDouble(int parameterIndex, double x)                                                                                       | ORA/MYSQL | double x                | java.lang.Double     | -                                                                                                                                                                                                                                                                                                                                                                                                                                            | FLOAT8                                                                                                                            | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setBigDecimal(int parameterIndex, BigDecimal x)                                                                           | ORA/MYSQL | BigDecimal x            | java.math.BigDecimal | -                                                                                                                                                                                                                                                                                                                                                                                                                                            | NUMERIC                                                                                                                           | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setString(int parameterIndex, String x)                                                                                     | ORA/MYSQL | String x                | java.lang.String     | 连接参数stringtype=varchar（默认）                                                                                                                                                                                                                                                                                                                                                                                                                   | VARCHAR                                                                                                                           | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setString(int parameterIndex, String x)                                                                                     | ORA/MYSQL | String x                | java.lang.String     | 连接参数stringtype=unspecified                                                                                                                                                                                                                                                                                                                                                                                                                   | UNSPECIFIED                                                                                                                       | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setBytes(int parameterIndex, byte x\[\])                                                                                        | ORA/MYSQL | byte x\[\]              | \[\]byte             | -                                                                                                                                                                                                                                                                                                                                                                                                                                            | BYTEA                                                                                                                             | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setDate(int parameterIndex, java.sql.Date x, Calendar cal)                                                                                                                                  | ORA/MYSQL | -                       | -                    | -                                                                                                                                                                                                                                                                                                                                                                                                                                            | -                                                                                                                                 | 与[void setDate(int parameterIndex, java.sql.Date x)]一致。                                                                                                                                                                                                                                                                               |
| void setDate(int parameterIndex, java.sql.Date x)                                                                                | ORA       | java.sql.Date x         | java.lang.Date       | 连接参数binaryTransfer=true 并且数据库GUC参数mapping_date_to_datea取值为on                                                                                                                                                                                                                                                                                                                                 | DATEA                                                                                                                             | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setDate(int parameterIndex, java.sql.Date x)                                                                                | ORA/MYSQL | java.sql.Date x         | java.lang.Date       | 连接参数binaryTransfer=true 并且数据库GUC参数mapping_date_to_datea取值为off                                                                                                                                                                                                                                                                                                                               | UNSPECIFIED                                                                                                                       | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setDate(int parameterIndex, java.sql.Date x)                                                                                | ORA/MYSQL | java.sql.Date x         | java.lang.Date       | 连接参数binaryTransfer=false（默认） 并且ORA兼容场景下需要数据库连接参数oracleCompatible不配置为true并且配置不包含setDateTime                                                                                                                                                                                                                                                                                                    | UNSPECIFIED                                                                                                                       | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setDate(int parameterIndex, java.sql.Date x)                                                                                | ORA       | java.sql.Date x         | java.lang.Date       | 连接参数oracleCompatible配置为true或者配置包含setDateTime 并且连接参数binaryTransfer=false（默认） 并且数据库GUC参数mapping_date_to_datea取值为on                                                                                                                                                                                                                             | DATEA                                                                                                                             | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setDate(int parameterIndex, java.sql.Date x)                                                                                | ORA       | java.sql.Date x         | java.lang.Date       | 连接参数oracleCompatible配置为true或者配置包含setDateTime 并且连接参数binaryTransfer=false（默认） 并且数据库GUC参数mapping_date_to_datea取值为off                                                                                                                                                                                                                               | TIMESTAMP                                                                                                                         | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setTime(int parameterIndex, java.sql.Time x, Calendar cal)                                                                                                                                  | ORA/MYSQL | -                       | -                    | -                                                                                                                                                                                                                                                                                                                                                                                                                                            | -                                                                                                                                 | 与[void setTime(int parameterIndex, java.sql.Time x)]一致。                                                                                                                                                                                                                                                                               |
| void setTime(int parameterIndex, java.sql.Time x)                           | ORA/MYSQL | java.sql.Time x         | java.lang.Time       | ORA兼容场景下需要连接参数oracleCompatible不配置为true并且配置不包含setDateTime                                                                                                                                                                                                                                                                                                                                                                                     | UNSPECIFIED                                                                                                                       | 代码示例： ``` PreparedStatement ps =           conn.prepareStatement("insert into ptest_table values (?)"); Time time1 = Time.valueOf("12:30:45"); ps.setTime(1, time1); ```                                                                                                                                                                |
| void setTime(int parameterIndex, java.sql.Time x)                           | ORA/MYSQL | java.sql.Time x         | PGTime               | 参数java.sql.Time x未设置时区                                                                                                                                                                                                                                                                                                                                                                                                                       | TIME                                                                                                                              | 代码示例： ``` PreparedStatement ps =           conn.prepareStatement("insert into ptest_table values (?)"); Time time1 = Time.valueOf("12:30:45"); PGTime time2 = new PGTime(time1.getTime()); ps.setTime(1, time2); ```                                                                                                                 |
| void setTime(int parameterIndex, java.sql.Time x)                           | ORA/MYSQL | java.sql.Time x         | PGTime               | 参数java.sql.Time x设置了时区并且不为null                                                                                                                                                                                                                                                                                                                                                                                                               | TIMETZ                                                                                                                            | 代码示例： ``` PreparedStatement ps =           conn.prepareStatement("insert into ptest_table values (?)"); Time time1 = Time.valueOf("12:30:45"); Calendar calendar = Calendar.getInstance(); PGTime time2 = new PGTime(time1.getTime(), calendar); ps.setTime(1, time2); ```                                                             |
| void setTime(int parameterIndex, java.sql.Time x)                           | ORA/MYSQL | java.sql.Time x         | java.lang.Time       | 参数java.sql.Time x为null                                                                                                                                                                                                                                                                                                                                                                                                                       | UNSPECIFIED                                                                                                                       | 代码示例： ``` PreparedStatement ps =           conn.prepareStatement("insert into ptest_table values (?)"); ps.setTime(1, null); ```                                                                                                                                                                                                       |
| void setTime(int parameterIndex, java.sql.Time x)                           | ORA       | java.sql.Time x         | java.lang.Time       | 连接参数oracleCompatible配置为true或者配置包含setDateTime                                                                                                                                                                                                                                                                                                                                                                                                 | TIMETZ                                                                                                                            | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setTimestamp(int parameterIndex, java.sql.Timestamp x, Calendar cal)                                                      | ORA/MYSQL | -                       | -                    | -                                                                                                                                                                                                                                                                                                                                                                                                                                            | -                                                                                                                                 | 与[void setTimestamp(int parameterIndex, java.sql.Timestamp x)]一致。                                                                                                                                                                                                                                                                    |
| void setTimestamp(int parameterIndex, java.sql.Timestamp x)                                                                    | ORA/MYSQL | java.sql.Timestamp x    | java.sql.Timestamp   | ORA兼容场景下需要连接参数oracleCompatible不配置为true并且配置不包含setDateTime（默认）                                                                                                                                                                                                                                                                                                                                                                                 | UNSPECIFIED                                                                                                                       | 代码示例： ``` PreparedStatement ps =           conn.prepareStatement("insert into ptest_table values (?)"); Timestamp timestamp1 = Timestamp.valueOf("2024-01-01 12:30:45.888"); ps.setTimestamp(1, timestamp1); ```                                                                                                                      |
| void setTimestamp(int parameterIndex, java.sql.Timestamp x)                                                                    | ORA/MYSQL | java.sql.Timestamp x    | PGTimestamp          | 参数java.sql.Timestamp x未设置时区                                                                                                                                                                                                                                                                                                                                                                                                                  | TIMESTAMP                                                                                                                         | 代码示例： ``` PreparedStatement ps =           conn.prepareStatement("insert into ptest_table values (?)"); Timestamp timestamp1 = Timestamp.valueOf("2024-01-01 12:30:45.888"); PGTimestamp timestamp2 = new PGTimestamp(timestamp1.getTime()); ps.setTimestamp(1, timestamp2); ```                                                      |
| void setTimestamp(int parameterIndex, java.sql.Timestamp x)                                                                    | ORA/MYSQL | java.sql.Timestamp x    | PGTimestamp          | 参数java.sql.Timestamp x设置了时区并且不为null                                                                                                                                                                                                                                                                                                                                                                                                          | TIMESTAMPTZ                                                                                                                       | 代码示例： ``` PreparedStatement ps =           conn.prepareStatement("insert into ptest_table values (?)"); Timestamp timestamp1 = Timestamp.valueOf("2024-01-01 12:30:45.888"); Calendar calendar = Calendar.getInstance(); PGTimestamp timestamp2 = new PGTimestamp(timestamp1.getTime(), calendar); ps.setTimestamp(1, timestamp2); ``` |
| void setTimestamp(int parameterIndex, java.sql.Timestamp x)                                                                    | ORA/MYSQL | java.sql.Timestamp x    | java.sql.Timestamp   | 参数java.sql.Timestamp x为null                                                                                                                                                                                                                                                                                                                                                                                                                  | UNSPECIFIED                                                                                                                       | 代码示例： ``` PreparedStatement ps =           conn.prepareStatement("insert into ptest_table values (?)"); ps.setTimestamp(1, null); ```                                                                                                                                                                                                  |
| void setTimestamp(int parameterIndex, java.sql.Timestamp x)                                                                    | ORA       | java.sql.Timestamp x    | java.sql.Timestamp   | 连接参数oracleCompatible配置为true或者配置包含setDateTime                                                                                                                                                                                                                                                                                                                                                                                                 | TIMESTAMPTZ                                                                                                                       | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setAsciiStream(int parameterIndex, java.io.InputStream x)                                                                                                                                   | ORA/MYSQL | java.io.InputStream x   | java.io.InputStream  | 参数java.io.InputStream x为null 并且连接参数stringtype=unspecified                                                                                                                                                                                                                                                                                                                                    | UNSPECIFIED                                                                                                                       | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setAsciiStream(int parameterIndex, java.io.InputStream x)                                                                                                                                   | ORA/MYSQL | java.io.InputStream x   | java.io.InputStream  | 参数java.io.InputStream x为null 并且连接参数stringtype不为unspecified                                                                                                                                                                                                                                                                                                                                    | VARCHAR                                                                                                                           | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setAsciiStream(int parameterIndex, java.io.InputStream x)                                                                                                                                   | ORA/MYSQL | java.io.InputStream x   | java.io.InputStream  | 参数java.io.InputStream x不为null                                                                                                                                                                                                                                                                                                                                                                                                                | VARCHAR                                                                                                                           | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setAsciiStream(int parameterIndex, java.io.InputStream x, int length)                                                                                                                       | ORA/MYSQL | java.io.InputStream x   | java.io.InputStream  | 参数java.io.InputStream x为null 并且连接参数stringtype=unspecified                                                                                                                                                                                                                                                                                                                                      | UNSPECIFIED                                                                                                                       | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setAsciiStream(int parameterIndex, java.io.InputStream x, int length)                                                                                                                       | ORA/MYSQL | java.io.InputStream x   | java.io.InputStream  | 参数java.io.InputStream x为null 并且连接参数stringtype不为unspecified（默认）                                                                                                                                                                                                                                                                                                                                 | VARCHAR                                                                                                                           | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setAsciiStream(int parameterIndex, java.io.InputStream x, int length)                                                                                                                       | ORA/MYSQL | java.io.InputStream x   | java.io.InputStream  | 参数java.io.InputStream x不为null                                                                                                                                                                                                                                                                                                                                                                                                                | VARCHAR                                                                                                                           | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setAsciiStream(int parameterIndex, java.io.InputStream x, long length)                                                                                                                      | ORA/MYSQL | java.io.InputStream x   | java.io.InputStream  | 参数java.io.InputStream x为null 并且连接参数stringtype=unspecified                                                                                                                                                                                                                                                                                                                                    | UNSPECIFIED                                                                                                                       | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setAsciiStream(int parameterIndex, java.io.InputStream x, long length)                                                                                                                      | ORA/MYSQL | java.io.InputStream x   | java.io.InputStream  | 参数java.io.InputStream x为null 并且连接参数stringtype不为unspecified                                                                                                                                                                                                                                                                                                                                    | VARCHAR                                                                                                                           | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setAsciiStream(int parameterIndex, java.io.InputStream x, long length)                                                                                                                      | ORA/MYSQL | java.io.InputStream x   | java.io.InputStream  | 参数java.io.InputStream x不为null                                                                                                                                                                                                                                                                                                                                                                                                                | VARCHAR                                                                                                                           | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setBinaryStream(int parameterIndex, java.io.InputStream x)                                                                                                                                  | ORA/MYSQL | java.io.InputStream x   | java.io.InputStream  | 连接参数blobMode=on                                                                                                                                                                                                                                                                                                                                                                                                                              | BLOB                                                                                                                              | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setBinaryStream(int parameterIndex, java.io.InputStream x)                                                                                                                                  | ORA/MYSQL | java.io.InputStream x   | java.io.InputStream  | 连接参数blobMode=off                                                                                                                                                                                                                                                                                                                                                                                                                             | BYTEA                                                                                                                             | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setBinaryStream(int parameterIndex, java.io.InputStream x, int length)                                                                                                                      | ORA/MYSQL | java.io.InputStream x   | java.io.InputStream  | 连接参数blobMode=on                                                                                                                                                                                                                                                                                                                                                                                                                              | BLOB                                                                                                                              | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setBinaryStream(int parameterIndex, java.io.InputStream x, int length)                                                                                                                      | ORA/MYSQL | java.io.InputStream x   | java.io.InputStream  | 连接参数blobMode=off                                                                                                                                                                                                                                                                                                                                                                                                                             | BYTEA                                                                                                                             | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setBinaryStream(int parameterIndex, java.io.InputStream x,long length)                                                                                                                      | ORA/MYSQL | java.io.InputStream x   | java.io.InputStream  | 连接参数blobMode=true                                                                                                                                                                                                                                                                                                                                                                                                                            | BLOB                                                                                                                              | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setBinaryStream(int parameterIndex, java.io.InputStream x,long length)                                                                                                                      | ORA/MYSQL | java.io.InputStream x   | java.io.InputStream  | 连接参数blobMode=false（默认）                                                                                                                                                                                                                                                                                                                                                                                                                       | BYTEA                                                                                                                             | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setCharacterStream(int parameterIndex, java.io.Reader reader,long length)                                                                                                                   | ORA/MYSQL | java.io.Reader reader   | java.io.Reader       | 连接参数stringtype=unspecified                                                                                                                                                                                                                                                                                                                                                                                                                   | UNSPECIFIED                                                                                                                       | 与[void setCharacterStream(int parameterIndex, java.io.Reader reader,int length)]接口一致。                                                                                                                                                                                                                                                  |
| void setCharacterStream(int parameterIndex, java.io.Reader reader,int length)  | ORA/MYSQL | java.io.Reader reader   | java.io.Reader       | 参数java.io.Reader reader不为null 并且连接参数stringtype=unspecified                                                                                                                                                                                                                                                                                                                                    | UNSPECIFIED                                                                                                                       | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setCharacterStream(int parameterIndex, java.io.Reader reader,int length)  | ORA/MYSQL | java.io.Reader reader   | java.io.Reader       | 参数java.io.Reader reader不为null 并且连接参数stringtype不为unspecified（默认）                                                                                                                                                                                                                                                                                                                                | VARCHAR                                                                                                                           | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setCharacterStream(int parameterIndex, java.io.Reader reader,int length)  | ORA       | java.io.Reader reader   | java.io.Reader       | 参数java.io.Reader reader不为null 并且连接参数stringtype=unspecified                                                                                                                                                                                                                                                                                                                                  | UNSPECIFIED                                                                                                                       | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setCharacterStream(int parameterIndex, java.io.Reader reader,int length)  | ORA       | java.io.Reader reader   | java.io.Reader       | 参数javaio.Reader reader不为null 并且连接参数stringtype不为unspecified（默认）                                                                                                                                                                                                                                                                                                                              | VARCHAR                                                                                                                           | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setCharacterStream(int parameterIndex, java.io.Reader reader,int length)  | MYSQL     | java.io.Reader reader   | java.io.Reader       | 参数java.io.Reader reader为null                                                                                                                                                                                                                                                                                                                                                                                                                 | UNSPECIFIED                                                                                                                       | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setCharacterStream(int parameterIndex, java.io.Reader reader)                                                                                                                               | ORA/MYSQL | java.io.Reader reader   | java.io.Reader       | 参数java.io.Reader reader为null 并且连接参数stringtype=unspecified                                                                                                                                                                                                                                                                                                                                   | UNSPECIFIED                                                                                                                       | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setCharacterStream(int parameterIndex, java.io.Reader reader)                                                                                                                               | ORA/MYSQL | java.io.Reader reader   | java.io.Reader       | 参数java.io.Reader reader为null 并且连接参数stringtype不为unspecified（默认）                                                                                                                                                                                                                                                                                                                               | VARCHAR                                                                                                                           | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setCharacterStream(int parameterIndex, java.io.Reader reader)                                                                                                                               | ORA/MYSQL | java.io.Reader reader   | java.io.Reader       | 参数java.io.Reader reader不为null 并且连接参数preferQueryMode=simple 并且连接参数stringtype=unspecified                                                                                                                                                                                                                                                        | UNSPECIFIED                                                                                                                       | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setCharacterStream(int parameterIndex, java.io.Reader reader)                                                                                                                               | ORA/MYSQL | java.io.Reader reader   | java.io.Reader       | 参数java.io.Reader reader不为null 并且连接参数preferQueryMode=simple 并且连接参数stringtype不为unspecified（默认）                                                                                                                                                                                                                                                 | VARCHAR                                                                                                                           | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setCharacterStream(int parameterIndex, java.io.Reader reader)                                                                                                                               | ORA/MYSQL | java.io.Reader reader   | java.io.Reader       | 参数java.io.Reader reader不为null 并且连接参数preferQueryMode不为simple 并且连接参数stringtype不为unspecified（默认）                                                                                                                                                                                                                                                | TEXT                                                                                                                              | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setUnicodeStream(int parameterIndex, java.io.InputStream x, int length)                                                                                                                     | ORA/MYSQL | java.io.InputStream x   | java.io.InputStream  | 参数java.io.InputStream x为null 并且连接参数stringtype=unspecified                                                                                                                                                                                                                                                                                                                                     | UNSPECIFIED                                                                                                                       | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setUnicodeStream(int parameterIndex, java.io.InputStream x, int length)                                                                                                                     | ORA/MYSQL | java.io.InputStream x   | java.io.InputStream  | 参数java.io.InputStream x为null 并且连接参数stringtype不为unspecified（默认）                                                                                                                                                                                                                                                                                                                                | VARCHAR                                                                                                                           | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setUnicodeStream(int parameterIndex, java.io.InputStream x, int length)                                                                                                                     | ORA/MYSQL | java.io.InputStream x   | java.io.InputStream  | 参数java.io.InputStream x不为null                                                                                                                                                                                                                                                                                                                                                                                                                | VARCHAR                                                                                                                           | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setBlob(int parameterIndex, Blob x)                                                                                         | ORA/MYSQL | Blob x                  | java.sql.BLOB        | -                                                                                                                                                                                                                                                                                                                                                                                                                                            | BLOB                                                                                                                              | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setBlob(int parameterIndex, InputStream inputStream)                                                                                                                                        | ORA/MYSQL | java.io.InputStream x   | java.io.InputStream  | -                                                                                                                                                                                                                                                                                                                                                                                                                                            | BLOB                                                                                                                              | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setBlob(int parameterIndex, InputStream inputStream, long length)                                                                                                                           | ORA/MYSQL | InputStream inputStream | java.io.InputStream  | -                                                                                                                                                                                                                                                                                                                                                                                                                                            | BLOB                                                                                                                              | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setClob(int parameterIndex, Clob x)                                                                                             | ORA/MYSQL | Clob x                  | java.sql.CLOB        | 参数Clob x为null                                                                                                                                                                                                                                                                                                                                                                                                                                | CLOB                                                                                                                              | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setClob(int parameterIndex, Clob x)                                                                                             | ORA/MYSQL | Clob x                  | java.sql.CLOB        | 参数Clob x不为null 并且连接参数stringtype=unspecified                                                                                                                                                                                                                                                                                                                                                   | UNSPECIFIED                                                                                                                       | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setClob(int parameterIndex, Clob x)                                                                                             | ORA/MYSQL | Clob x                  | java.sql.CLOB        | 参数Clob x不为null 并且连接参数stringtype不为unspecified（默认）                                                                                                                                                                                                                                                                                                                                               | VARCHAR                                                                                                                           | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setClob(int parameterIndex, Reader reader)                                                                                                                                                  | ORA/MYSQL | Reader reader           | java.io.Reader       | 连接参数stringtype=unspecified                                                                                                                                                                                                                                                                                                                                                                                                                   | UNSPECIFIED                                                                                                                       | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setClob(int parameterIndex, Reader reader)                                                                                                                                                  | ORA/MYSQL | Reader reader           | java.io.Reader       | 连接参数stringtype不为unspecified                                                                                                                                                                                                                                                                                                                                                                                                                  | VARCHAR                                                                                                                           | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setClob(int parameterIndex, Reader reader, long length)                                                                                                                                     | ORA/MYSQL | Reader reader           | java.io.Reader       | 连接参数stringtype=unspecified                                                                                                                                                                                                                                                                                                                                                                                                                   | UNSPECIFIED                                                                                                                       | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setClob(int parameterIndex, Reader reader, long length)                                                                                                                                     | ORA/MYSQL | Reader reader           | java.io.Reader       | 连接参数stringtype不为unspecified（默认）                                                                                                                                                                                                                                                                                                                                                                                                              | VARCHAR                                                                                                                           | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setArray(int parameterIndex, Array x)                                                                                         | ORA/MYSQL | Array x                 | java.sql.Array       | 参数Array x为null                                                                                                                                                                                                                                                                                                                                                                                                                               | UNSPECIFIED                                                                                                                       | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setArray(int parameterIndex, Array x)                                                                                         | ORA/MYSQL | Array x                 | java.sql.Array       | 参数Array x不为null                                                                                                                                                                                                                                                                                                                                                                                                                              | 根据创建PGArray或者GaussArray的参数决定。                                                                                                     | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setArray(int parameterIndex, Array x)                                                                                         | ORA       | Array x                 | GaussArray           | -                                                                                                                                                                                                                                                                                                                                                                                                                                            | -                                                                                                                                 | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setArray(int parameterIndex, Array x)                                                                                         | ORA       | Array x                 | GaussArray           | 参数Array x为null                                                                                                                                                                                                                                                                                                                                                                                                                               | UNSPECIFIED                                                                                                                       | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setRowId(int parameterIndex, RowId x)                                                                                         | ORA/MYSQL | RowId x                 | java.sql.RowId       | -                                                                                                                                                                                                                                                                                                                                                                                                                                            | ROWID                                                                                                                             | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setNString(int parameterIndex, String value)                                                                                                                                                | ORA/MYSQL | String x                | java.lang.String     | 连接参数stringtype=varchar（默认）                                                                                                                                                                                                                                                                                                                                                                                                                   | VARCHAR                                                                                                                           | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setNString(int parameterIndex, String value)                                                                                                                                                | ORA/MYSQL | String x                | java.lang.String     | 连接参数stringtype=unspecified                                                                                                                                                                                                                                                                                                                                                                                                                   | UNSPECIFIED                                                                                                                       | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setSQLXML(int parameterIndex, SQLXML xmlObject)                                                                           | ORA/MYSQL | SQLXML xmlObject        | java.sql.SQLXML      | -                                                                                                                                                                                                                                                                                                                                                                                                                                            | XML                                                                                                                               | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | ORA/MYSQL | int targetSqlType       | java.lang.Integer    | 参数Object x为null                                                                                                                                                                                                                                                                                                                                                                                                                              | 请参见[表2]。                                                                      | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | ORA/MYSQL | int targetSqlType       | java.lang.Integer    | 参数Object x不为null 并且参数int targetSqlType=Types.SQLXML                                                                                                                                                                                                                                                                                                                                           | 请参见[void setSQLXML(int parameterIndex, SQLXML xmlObject)]接口。                      | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | ORA/MYSQL | int targetSqlType       | java.lang.Integer    | 参数Object x不为null 并且参数int targetSqlType=Types.INTEGER                                                                                                                                                                                                                                                                                                                                          | 请参见[void setInt(int parameterIndex, int x)]接口。                                      | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | ORA/MYSQL | int targetSqlType       | java.lang.Integer    | 参数Object x不为null 并且参数int targetSqlType=Types.TINYINT                                                                                                                                                                                                                                                                                                                                          | INT1                                                                                                                              | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | ORA/MYSQL | int targetSqlType       | java.lang.Integer    | 参数Object x不为null 并且参数int targetSqlType=Types.SMALLINT                                                                                                                                                                                                                                                                                                                                          | INT2                                                                                                                              | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | ORA/MYSQL | int targetSqlType       | java.lang.Integer    | 参数Object x不为null 并且参数int targetSqlType=Types.BIGINT                                                                                                                                                                                                                                                                                                                                          | INT8                                                                                                                              | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | ORA/MYSQL | int targetSqlType       | java.lang.Integer    | 参数Object x不为null 并且参数int targetSqlType=Types.REAL                                                                                                                                                                                                                                                                                                                                               | 请参见[void setFloat(int parameterIndex, float x)]接口。                                 | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | ORA/MYSQL | int targetSqlType       | java.lang.Integer    | 参数Object x不为null 并且参数int targetSqlType=Types.FLOAT 并且连接参数setFloat=true                                                                                                                                                                                                                                                                       | FLOAT4                                                                                                                            | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | ORA/MYSQL | int targetSqlType       | java.lang.Integer    | 参数Object x不为null 并且参数int targetSqlType=Types.FLOAT 并且连接参数setFloat=false                                                                                                                                                                                                                                                                     | FLOAT8                                                                                                                            | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | ORA/MYSQL | int targetSqlType       | java.lang.Integer    | 参数Object x不为null 并且参数int targetSqlType=Types.DOUBLE                                                                                                                                                                                                                                                                                                                                         | FLOAT8                                                                                                                            | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | ORA/MYSQL | int targetSqlType       | java.lang.Integer    | 参数Object x不为null 并且参数int targetSqlType=Types.DECIMAL                                                                                                                                                                                                                                                                                                                                         | NUMERIC                                                                                                                           | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | ORA/MYSQL | int targetSqlType       | java.lang.Integer    | 参数Object x不为null 并且参数int targetSqlType=Types.NUMERIC                                                                                                                                                                                                                                                                                                                                          | NUMERIC                                                                                                                           | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | ORA/MYSQL | int targetSqlType       | java.lang.Integer    | 参数Object x不为null 并且参数int targetSqlType=Types.CHAR                                                                                                                                                                                                                                                                                                                                            | BPCHAR                                                                                                                            | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | ORA/MYSQL | int targetSqlType       | java.lang.Integer    | 参数Object x不为null 并且参数int targetSqlType=Types.VARCHAR                                                                                                                                                                                                                                                                                                                                           | VARCHAR                                                                                                                           | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | ORA/MYSQL | int targetSqlType       | java.lang.Integer    | 参数Object x不为null 并且参数int targetSqlType=Types.LONGVARCHAR 并且参数Object x类型为InputStream                                                                                                                                                                                                                                                            | TEXT                                                                                                                              | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | ORA/MYSQL | int targetSqlType       | java.lang.Integer    | 参数Object x不为null 并且参数int targetSqlType=Types.LONGVARCHAR 并且Object x类型不为InputStream                                                                                                                                                                                                                                                              | VARCHAR                                                                                                                           | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | ORA       | int targetSqlType       | java.lang.Integer    | 参数Object x不为null 并且参数int targetSqlType=Types.DATE 并且参数Object x类型不是LocalDate 并且连接参数binaryTransfer=true 并且数据库GUC参数mapping_date_to_datea取值为on                                                                                                    | DATEA                                                                                                                             | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | ORA/MYSQL | int targetSqlType       | java.lang.Integer    | 参数Object x不为null 并且参数int targetSqlType=Types.DATE 并且参数Object x类型不是LocalDate 并且连接参数binaryTransfer=true 并且数据库GUC参数mapping_date_to_datea取值为off                                                                                                       | UNSPECIFIED                                                                                                                       | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | MYSQL     | int targetSqlType       | java.lang.Integer    | 参数Object x不为null 并且参数int targetSqlType=Types.DATE 并且参数Object x类型不是LocalDate 并且连接参数binaryTransfer=false（默认）                                                                                                                                                                                     | UNSPECIFIED                                                                                                                       | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | ORA       | int targetSqlType       | java.lang.Integer    | 参数Object x不为null 并且参数int targetSqlType=Types.DATE 并且参数Object x类型不是LocalDate 并且连接参数binaryTransfer=false（默认） 并且连接参数oracleCompatible不配置为true并且配置不包含setDateTime                                                                                    | UNSPECIFIED                                                                                                                       | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | ORA       | int targetSqlType       | java.lang.Integer    | 参数Object x不为null 并且参数int targetSqlType=Types.DATE 并且参数Object x类型不是LocalDate 并且连接参数binaryTransfer=false（默认） 并且连接参数oracleCompatible配置为true或者配置包含setDateTime 并且数据库GUC参数mapping_date_to_datea取值为on | DATEA                                                                                                                             | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | ORA       | int targetSqlType       | java.lang.Integer    | 参数Object x不为null 并且参数int targetSqlType=Types.DATE 并且参数Object x类型不是LocalDate 并且连接参数binaryTransfer=false（默认） 并且连接参数oracleCompatible配置为true或者配置包含setDateTime 并且数据库GUC参数mapping_date_to_datea取值为off  | TIMESTAMP                                                                                                                         | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | ORA       | int targetSqlType       | java.lang.Integer    | 参数Object x不为null 并且参数int targetSqlType=Types.DATE 并且参数Object x类型是LocalDate 并且连接参数binaryTransfer=true 并且数据库GUC参数mapping_date_to_datea取值为on                                                                                                       | DATEA                                                                                                                             | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | MYSQL     | int targetSqlType       | java.lang.Integer    | 参数Object x不为null 并且参数int targetSqlType=Types.DATE 并且参数Object x类型是LocalDate 并且连接参数binaryTransfer=true 并且数据库GUC参数mapping_date_to_datea取值为on                                                                                                        | DATE                                                                                                                              | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | ORA/MYSQL | int targetSqlType       | java.lang.Integer    | 参数Object x不为null 并且参数int targetSqlType=Types.TIME 并且参数Object x类型不是LocalTime                                                                                                                                                                                                                                                                    | 请参见[void setTime(int parameterIndex, java.sql.Time x)]接口。                          | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | ORA/MYSQL | int targetSqlType       | java.lang.Integer    | 参数Object x不为null 并且参数int targetSqlType=Types.TIME 并且参数Object x类型是LocalTime                                                                                                                                                                                                                                                                    | TIME                                                                                                                              | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | ORA/MYSQL | int targetSqlType       | java.lang.Integer    | 参数Object x不为null 并且参数int targetSqlType=Types.TIMESTAMP 并且参数Object x类型不是LocalDateTime                                                                                                                                                                                                                                                       | 请参见[void setTimestamp(int parameterIndex, java.sql.Timestamp x, Calendar cal)]接口。 | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | ORA/MYSQL | int targetSqlType       | java.lang.Integer    | 参数Object x不为null 并且参数int targetSqlType=Types.TIMESTAMP 并且参数Object x类型是LocalDateTime                                                                                                                                                                                                                                                           | TIMESTAMP                                                                                                                         | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | ORA/MYSQL | int targetSqlType       | java.lang.Integer    | 参数Object x不为null 并且参数int targetSqlType=Types.TIMESTAMP_WITH_TIMEZONE 并且参数Object x类型是OffsetDateTime                                                                                                                                                                                                                                              | TIMESTAMPTZ                                                                                                                       | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | ORA/MYSQL | int targetSqlType       | java.lang.Integer    | 参数Object x不为null 并且参数int targetSqlType=Types.TIMESTAMP_WITH_TIMEZONE 并且参数Object x类型是PGTimestamp                                                                                                                                                                                                                                                  | 请参见[void setTimestamp(int parameterIndex, java.sql.Timestamp x, Calendar cal)]接口。 | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | ORA/MYSQL | int targetSqlType       | java.lang.Integer    | 参数Object x不为null 并且参数int targetSqlType=Types.BIT 并且连接参数use_boolean=true                                                                                                                                                                                                                                                                        | BOOL                                                                                                                              | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | ORA/MYSQL | int targetSqlType       | java.lang.Integer    | 参数Object x不为null 并且参数int targetSqlType=Types.BIT 并且连接参数use_boolean=false（默认）                                                                                                                                                                                                                                                                    | INT2                                                                                                                              | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | ORA/MYSQL | int targetSqlType       | java.lang.Integer    | 参数Object x不为null 并且参数int targetSqlType=Types.BOOLEAN 并且连接参数use_boolean=true                                                                                                                                                                                                                                                                  | BOOL                                                                                                                              | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | ORA/MYSQL | int targetSqlType       | java.lang.Integer    | 参数Object x不为null 并且参数int targetSqlType=Types.BOOLEAN 并且连接参数use_boolean=false（默认）                                                                                                                                                                                                                                                               | INT2                                                                                                                              | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | ORA/MYSQL | int targetSqlType       | java.lang.Integer    | 参数Object x不为null 并且参数int targetSqlType=Types.BINARY、Types.VARBINARY或Types.LONGVARBINARY                                                                                                                                                                                                                                                                                                        | 根据参数Object x数据类型决定，请参见[表3]。                                                      | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | ORA/MYSQL | int targetSqlType       | java.lang.Integer    | 参数Object x不为null 并且参数int targetSqlType=Types.BLOB 并且参数Object x类型是Blob                                                                                                                                                                                                                                                                         | 请参见[void setBlob(int parameterIndex, Blob x)]接口。                                   | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | ORA/MYSQL | int targetSqlType       | java.lang.Integer    | 参数Object x不为null 并且参数int targetSqlType=Types.BLOB 并且参数Object x类型是InputStream                                                                                                                                                                                                                                                                    | 请参见[void setLong(int parameterIndex, long x)]接口。                                    | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | ORA/MYSQL | int targetSqlType       | java.lang.Integer    | 参数Object x不为null 并且参数int targetSqlType=Types.CLOB 并且参数Object x类型是Clob                                                                                                                                                                                                                                                                          | 请参见[void setClob(int parameterIndex, Clob x)]接口。                                     | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | ORA/MYSQL | int targetSqlType       | java.lang.Integer    | 参数Object x不为null 并且参数int targetSqlType=Types.DISTINCT                                                                                                                                                                                                                                                                                                                                       | UNSPECIFIED                                                                                                                       | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x, int targetSqlType)                                                                                                                                  | ORA/MYSQL | int targetSqlType       | java.lang.Integer    | 参数Object x不为null 并且参数int targetSqlType=Types.ROWID                                                                                                                                                                                                                                                                                                                                             | ROWID                                                                                                                             | -                                                                                                                                                                                                                                                                                                                                                                                    |
| void setObject(int parameterIndex, Object x)                                                                                                                                                     | ORA/MYSQL | -                       | -                    | -                                                                                                                                                                                                                                                                                                                                                                                                                                            | -                                                                                                                                 | 根据参数Object x类型，请参见[表3]寻找对应类型。                                                                                                                                                                                                                                                                                                       |
| default void setObject(int parameterIndex, Object x, SQLType targetSqlType,int scaleOrLength)                                                                                                    | ORA/MYSQL | -                       | -                    | -                                                                                                                                                                                                                                                                                                                                                                                                                                            | -                                                                                                                                 | 根据参数SQLType targetSqlType类型，请参见[表4]寻找对应类型。                                                                                                                                                                                                                                                                                          |
| default void setObject(int parameterIndex, Object x, SQLType targetSqlType)                                                                                                                      | ORA/MYSQL | -                       | -                    | -                                                                                                                                                                                                                                                                                                                                                                                                                                            | -                                                                                                                                 |  根据参数SQLType targetSqlType类型，请参见[表4]寻找对应类型。                                                                                                                                                                                                                                                                                   |
| void setObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength)                                                                                                               | ORA/MYSQL | -                       | -                    | -                                                                                                                                                                                                                                                                                                                                                                                                                                            | -                                                                                                                                 |  根据参数int targetSqlType类型，请参见[表4]寻找对应类型。                                                                                                                                                                                                                                                                                       |
   
 表2setNull接口java类型对应数据库类型 
| JAVA type id                  | 兼容模式      | 条件                                                                                                                                | 发送到数据库的类型   |
|:---|:---|:---|:---|
| Types.VARCHAR                 | ORA/MYSQL | 连接参数stringtype=unspecified                                                                                                        | UNSPECIFIED |
| Types.VARCHAR                 | ORA/MYSQL | 连接参数stringtype不为unspecified（默认）                                                                                                   | VARCHAR     |
| Types.LONGVARCHAR             | ORA/MYSQL | 连接参数stringtype=unspecified                                                                                                        | UNSPECIFIED |
| Types.LONGVARCHAR             | ORA/MYSQL | 连接参数stringtype不为unspecified（默认）                                                                                                   | VARCHAR     |
| Types.DATE                    | ORA       | 连接参数oracleCompatible配置为true或者配置包含setDateTime 并且数据库GUC参数mapping_date_to_datea取值为on     | DATEA       |
| Types.DATE                    | ORA       | 连接参数oracleCompatible配置为true或者配置包含setDateTime 并且数据库GUC参数mapping_date_to_datea取值为off | TIMESTAMP   |
| Types.DATE                    | ORA/MYSQL | -                                                                                                                                 | DATE        |
| Types.SQLXML                  | ORA/MYSQL | -                                                                                                                                 | XML         |
| Types.INTEGER                 | ORA/MYSQL | -                                                                                                                                 | INT4        |
| Types.TINYINT                 | ORA/MYSQL | -                                                                                                                                 | INT1        |
| Types.SMALLINT                | ORA/MYSQL | -                                                                                                                                 | INT2        |
| Types.BIGINT                  | ORA/MYSQL | -                                                                                                                                 | INT8        |
| Types.REAL                    | ORA/MYSQL | -                                                                                                                                 | FLOAT4      |
| Types.DOUBLE                  | ORA/MYSQL | -                                                                                                                                 | FLOAT8      |
| Types.FLOAT                   | ORA/MYSQL | -                                                                                                                                 | FLOAT8      |
| Types.DECIMAL                 | ORA/MYSQL | -                                                                                                                                 | NUMERIC     |
| Types.NUMERIC                 | ORA/MYSQL | -                                                                                                                                 | NUMERIC     |
| Types.CHAR                    | ORA/MYSQL | -                                                                                                                                 | BPCHAR      |
| Types.TIME                    | ORA/MYSQL | -                                                                                                                                 | UNSPECIFIED |
| Types.TIMESTAMP               | ORA/MYSQL | -                                                                                                                                 | UNSPECIFIED |
| Types.TIME_WITH_TIMEZONE      | ORA/MYSQL | -                                                                                                                                 | UNSPECIFIED |
| Types.TIMESTAMP_WITH_TIMEZONE | ORA/MYSQL | -                                                                                                                                 | UNSPECIFIED |
| Types.BOOLEAN                 | ORA/MYSQL | -                                                                                                                                 | BOOL        |
| Types.BIT                     | ORA/MYSQL | -                                                                                                                                 | BOOL        |
| Types.BINARY                  | ORA/MYSQL | -                                                                                                                                 | BYTEA       |
| Types.VARBINARY               | ORA/MYSQL | -                                                                                                                                 | BYTEA       |
| Types.LONGVARBINARY           | ORA/MYSQL | -                                                                                                                                 | BYTEA       |
| Types.BLOB                    | ORA/MYSQL | -                                                                                                                                 | BLOB        |
| Types.CLOB                    | ORA/MYSQL | -                                                                                                                                 | CLOB        |
| Types.ARRAY                   | ORA/MYSQL | -                                                                                                                                 | UNSPECIFIED |
| Types.DISTINCT                | ORA/MYSQL | -                                                                                                                                 | UNSPECIFIED |
| Types.STRUCT                  | ORA/MYSQL | -                                                                                                                                 | UNSPECIFIED |
| Types.NULL                    | ORA/MYSQL | -                                                                                                                                 | UNSPECIFIED |
| Types.OTHER                   | ORA/MYSQL | -                                                                                                                                 | UNSPECIFIED |
   
 表3setObject接口参数object x类型对应执行接口 
| 类型             | 兼容模式      | 条件                                                                             | 发送到数据库的类型                                                                                                                                                                   |
|:---|:---|:---|:---|
| null           | ORA/MYSQL | -                                                                              | 请参见[表1]中[setNull(int parameterIndex, int sqlType)]接口。                    |
| UUID           | ORA/MYSQL | -                                                                              | UUID                                                                                                                                                                        |
| SQLXML         | ORA/MYSQL | -                                                                              | 请参见[表1]中[void setSQLXML(int parameterIndex, SQLXML xmlObject)]接口。        |
| String         | ORA/MYSQL | -                                                                              | 请参见[表1]中[void setString(int parameterIndex, String x)]接口。                 |
| Character      | ORA/MYSQL | -                                                                              | 请参见[表1]中[void setString(int parameterIndex, String x)]接口。                 |
| RowId          | ORA/MYSQL | -                                                                              | 请参见[表1]中[void setRowId(int parameterIndex, RowId x)]接口。                    |
| BigDecimal     | ORA/MYSQL | -                                                                              | 请参见[表1]中[void setBigDecimal(int parameterIndex, BigDecimal x)]接口。        |
| Short          | ORA/MYSQL | -                                                                              | 请参见[表1]中[void setShort(int parameterIndex, short x)]接口。                  |
| Integer        | ORA/MYSQL | -                                                                              | 请参见[表1]中[void setInt(int parameterIndex, int x)]接口。                        |
| Long           | ORA/MYSQL | -                                                                              | 请参见[表1]中[void setLong(int parameterIndex, long x)]接口。                      |
| Float          | ORA/MYSQL | -                                                                              | 请参见[表1]中[void setFloat(int parameterIndex, float x)]接口。                   |
| Double         | ORA/MYSQL | -                                                                              | 请参见[表1]中[void setDouble(int parameterIndex, double x)]接口。                  |
| byte\[\]       | ORA/MYSQL | -                                                                              | 请参见[表1]中[void setBytes(int parameterIndex, byte x\[\])]接口。                  |
| Byte           | ORA/MYSQL | -                                                                              | 请参见[表1]中[void setByte(int parameterIndex, byte x)]接口。                      |
| java.sql.Date  | ORA/MYSQL | -                                                                              | 请参见[表1]中[void setDate(int parameterIndex, java.sql.Date x)]接口。            |
| Time           | ORA/MYSQL | -                                                                              | 请参见[表1]中[void setTime(int parameterIndex, java.sql.Time x)]接口。            |
| Timestamp      | ORA/MYSQL | -                                                                              | 请参见[表1]中[void setTimestamp(int parameterIndex, java.sql.Timestamp x)]接口。 |
| LocalDate      | MYSQL     | -                                                                              | DATE                                                                                                                                                                        |
| LocalDate      | ORA       | 连接参数 mapping_date_to_datea取值为on | DATEA                                                                                                                                                                       |
| LocalDate      | ORA       | 连接参数 mapping_date_to_datea取值为off | TIMESTAMP                                                                                                                                                                   |
| LocalTime      | ORA/MYSQL | -                                                                              | TIME                                                                                                                                                                        |
| LocalDateTime  | ORA/MYSQL | -                                                                              | TIMESTAMP                                                                                                                                                                   |
| OffsetDateTime | ORA/MYSQL | -                                                                              | TIMESTAMPTZ                                                                                                                                                                 |
| java.util.Date | ORA/MYSQL | -                                                                              | 请参见[表1]中[void setTimestamp(int parameterIndex, java.sql.Timestamp x)]接口。 |
| Boolean        | ORA/MYSQL | -                                                                              | 请参见[表1]中[void setBoolean(int parameterIndex, boolean x)]接口。              |
| Blob           | ORA/MYSQL | -                                                                              | 请参见[表1]中[void setBlob(int parameterIndex, Blob x)]接口。                     |
| Clob           | ORA/MYSQL | -                                                                              | 请参见[表1]中[void setClob(int parameterIndex, Clob x)]接口。                       |
| Number         | ORA/MYSQL | -                                                                              | NUMERIC                                                                                                                                                                     |
   
 表4setObject接口参数targetSqlType对应执行接口 
| targetSqlType参数值              | 兼容模式      | 条件                                                                                                       | 发送到数据库的类型                                                                                                                                                                   |
|:---|:---|:---|:---|
| Types.SQLXML                  | ORA/MYSQL | -                                                                                                        | 请参见[表1]中[void setSQLXML(int parameterIndex, SQLXML xmlObject)]接口。        |
| Types.INTEGER                 | ORA/MYSQL | -                                                                                                        | 请参见[表1]中[void setInt(int parameterIndex, int x)]接口。                        |
| Types.TINYINT                 | ORA/MYSQL | -                                                                                                        | INT1                                                                                                                                                                        |
| Types.SMALLINT                | ORA/MYSQL | -                                                                                                        | 请参见[表1]中[void setShort(int parameterIndex, short x)]接口。                  |
| Types.BIGINT                  | ORA/MYSQL | -                                                                                                        | 请参见[表1]中[void setLong(int parameterIndex, long x)]接口。                      |
| Types.REAL                    | ORA/MYSQL | -                                                                                                        | 请参见[表1]中[void setFloat(int parameterIndex, float x)]接口。                   |
| Types.FLOAT                   | ORA/MYSQL | 连接参数setFloat=true                                                                                        | 请参见[表1]中[void setFloat(int parameterIndex, float x)]接口。                   |
| Types.FLOAT                   | MYSQL     | 连接参数setFloat=false(默认) 并且连接参数mCompatible不包含pstatement      | 请参见[表1]中[void setFloat(int parameterIndex, float x)]接口。                   |
| Types.FLOAT                   | ORA       | 连接参数setFloat=false(默认)                                                                                   | 请参见[表1]中[void setDouble(int parameterIndex, double x)]接口                   |
| Types.FLOAT                   | MYSQL     | 连接参数setFloat=false(默认) 并且连接参数mCompatible为true或者包含pstatement | 请参见[表1]中[void setDouble(int parameterIndex, double x)]接口                   |
| Types.DOUBLE                  | ORA/MYSQL | -                                                                                                        | 请参见[表1]中[void setDouble(int parameterIndex, double x)]接口                   |
| Types.DECIMAL                 | ORA/MYSQL | -                                                                                                        | 请参见[表1]中[void setBigDecimal(int parameterIndex, BigDecimal x)]接口。        |
| Types.NUMERIC                 | ORA/MYSQL | -                                                                                                        | 请参见[表1]中[void setBigDecimal(int parameterIndex, BigDecimal x)]接口。        |
| Types.CHAR                    | ORA/MYSQL | -                                                                                                        | BPCHAR                                                                                                                                                                      |
| Types.VARCHAR                 | ORA/MYSQL | -                                                                                                        | VARCHAR                                                                                                                                                                     |
| Types.LONGVARCHAR             | ORA/MYSQL | 参数Object x类型为InputStream                                                                                 | TEXT                                                                                                                                                                        |
| Types.LONGVARCHAR             | ORA/MYSQL | 参数Object x类型不为InputStream                                                                                | VARCHAR                                                                                                                                                                     |
| Types.DATE                    | ORA/MYSQL | -                                                                                                        | 请参见[表1]中[void setDate(int parameterIndex, java.sql.Date x)]接口。            |
| Types.TIME                    | ORA/MYSQL | -                                                                                                        | 请参见[表1]中[void setTime(int parameterIndex, java.sql.Time x)]接口。            |
| Types.TIMESTAMP               | ORA/MYSQL | -                                                                                                        | 请参见[表1]中[void setTimestamp(int parameterIndex, java.sql.Timestamp x)]接口。 |
| Types.TIMESTAMP_WITH_TIMEZONE | ORA/MYSQL | 参数Object x类型为OffsetDateTime或者PGTimestamp                                                                 | 请参见[表1]中[void setTimestamp(int parameterIndex, java.sql.Timestamp x)]接口。 |
| Types.BIT                     | ORA/MYSQL | 连接参数mCompatible不配置为true并且配置不包含pstatement                                                                 | 请参见[表1]中[void setBoolean(int parameterIndex, boolean x)]接口。              |
| Types.BIT                     | MYSQL     | 连接参数mCompatible配置为true或者配置包含pstatement                                                                   | 请参见[表1]中[void setInt(int parameterIndex, int x)]接口。                        |
| Types.BOOLEAN                 | ORA/MYSQL | -                                                                                                        | 请参见[表1]中[void setBoolean(int parameterIndex, boolean x)]接口。              |
| Types.BINARY                  | ORA/MYSQL | -                                                                                                        | 请根据Object x数据类型，对照[表3]寻找对应发送到数据库的类型。                                                                                       |
| Types.VARBINARY               | ORA/MYSQL | -                                                                                                        | 请根据Object x数据类型，对照[表3]寻找对应发送到数据库的类型。                                                                                       |
| Types.LONGVARBINARY           | ORA/MYSQL | -                                                                                                        | 请根据Object x数据类型，对照[表3]寻找对应发送到数据库的类型。                                                                                       |
| Types.BLOB                    | ORA/MYSQL | 参数Object x类型为Blob                                                                                        | 请参见[表1]中[void setBlob(int parameterIndex, Blob x)]接口。                     |
| Types.BLOB                    | ORA/MYSQL | 参数Object x类型为InputStream                                                                                 | 请参见[表1]中[void setLong(int parameterIndex, long x)]接口。                      |
| Types.CLOB                    | ORA/MYSQL | 参数Object x类型为Clob                                                                                        | 请参见[表1]中[void setClob(int parameterIndex, Clob x)]接口。                       |
| Types.ARRAY                   | ORA/MYSQL | 参数Object x类型为Array                                                                                       | 请参见[表1]中[void setArray(int parameterIndex, Array x)]接口。                    |
| Types.DISTINCT                | ORA/MYSQL | -                                                                                                        | UNSPECIFIED                                                                                                                                                                 |
| Types.ROWID                   | ORA/MYSQL | 参数Object x类型为RowId                                                                                       | 请参见[表1]中[void setRowId(int parameterIndex, RowId x)]接口。                    |
| Types.ROWID                   | ORA/MYSQL | 参数Object x类型为String                                                                                      | ROWID                                                                                                                                                                       |
| Types.OTHER                   | ORA/MYSQL | 参数Object x类型为UUID 并且服务端参数SERVER_VERSION值大于8.3.0             | UUID                                                                                                                                                                        |
| Types.OTHER                   | ORA/MYSQL | 参数Object x类型不为PGobject或MAP                                                                               | UNSPECIFIED                                                                                                                                                                 |
   
表5ResultSet类get接口 
| 方法（Method）                                                            | 处理逻辑                                                                                                                                               | 备注                                                                                                                                                                                             |
|:---|:---|:---|
| getString(int columnIndex)                                            | 结合列OID、数据库类型及连接参数，获取对应的JDBC类型并进行转换。若需转为String类型，会对特定数据库的特殊数据（如十六进制数据）进行针对性解析和处理。                                                                   | -                                                                                                                                                                                              |
| getString(String columnLabel)                                         | 结合列OID、数据库类型及连接参数，获取对应的JDBC类型并进行转换。若需转为String类型，会对特定数据库的特殊数据（如十六进制数据）进行针对性解析和处理。                                                                   | -                                                                                                                                                                                              |
| getBoolean(int columnIndex)                                           | 若列OID为BOOL，数据长度为1且值为ASCII码值116（小写字母t），则返回true，否则返回false。其他场景下，基于列OID及设置的连接参数将byte数据转换为对应的字符串后，再解析该字符串是否符合boolean语义（如 "true"、"t"、"0"、"1" 等）并返回对应结果。 | -                                                                                                                                                                                              |
| getBoolean(String columnLabel)                                        | 若列OID为BOOL，数据长度为1且值为ASCII码值116（小写字母t），则返回true，否则返回false。其他场景下，基于列OID及设置的连接参数将byte数据转换为对应的字符串后，再解析该字符串是否符合boolean语义（如 "true"、"t"、"0"、"1" 等）并返回对应结果。 | -                                                                                                                                                                                              |
| getByte(int columnIndex)                                              | 基于列OID及设置的连接参数获取对应的JDBC类型，依据该类型将数据先转换为String或long类型，最终强制转换为byte类型返回。若为高精度数值对象，会截断其小数部分。                                                            | -                                                                                                                                                                                              |
| getByte(String columnLabel)                                           | 基于列OID及设置的连接参数获取对应的JDBC类型，依据该类型将数据先转换为String或long类型，最终强制转换为byte类型返回。若为高精度数值对象，会截断其小数部分。                                                            | -                                                                                                                                                                                              |
| getShort(int columnIndex)                                             | 基于列OID及设置的连接参数，将数据先转换为String（转换时去除 $、(、) 等特殊字符）或long类型，最终强制转换为short类型返回。若为高精度数值对象，会截断其小数部分。                                                        | -                                                                                                                                                                                              |
| getShort(String columnLabel)                                          | 基于列OID及设置的连接参数，将数据先转换为String（转换时去除 $、(、) 等特殊字符）或long类型，最终强制转换为short类型返回。若为高精度数值对象，会截断其小数部分。                                                        | -                                                                                                                                                                                              |
| getInt(int columnIndex)                                               | 若列OID为INT4，则直接转换为int类型返回。其他场景下，将数据先转换为String（去除特殊字符）或long类型，最终强制转换为int类型返回。若为高精度数值，截断小数部分。                                                         | -                                                                                                                                                                                              |
| getInt(String columnLabel)                                            | 若列OID为INT4，则直接转换为int类型返回。其他场景下，将数据先转换为String（去除特殊字符）或long类型，最终强制转换为int类型返回。若为高精度数值，截断小数部分。                                                         | -                                                                                                                                                                                              |
| getLong(int columnIndex)                                              | 若列OID为INT8，则直接转换为long类型返回。其他场景下，将数据先转换为String（去除特殊字符），再解析并转换为long类型返回。若为高精度数值，截断小数部分。                                                              | -                                                                                                                                                                                              |
|  getLong(String columnLabel)                                    | 若列OID为INT8，则直接转换为long类型返回。其他场景下，将数据先转换为String（去除特殊字符），再解析并转换为long类型返回。若为高精度数值，截断小数部分。                                                              | -                                                                                                                                                                                              |
| getFloat(int columnIndex)                                             | 若列OID为FLOAT4，则直接转换为float类型返回。其他场景下，将数据先转换为String（去除特殊字符）或double类型，最终强制转换为float类型返回。                                                                | -                                                                                                                                                                                              |
| getFloat(String columnLabel)                                          | 若列OID为FLOAT4，则直接转换为float类型返回。其他场景下，将数据先转换为String（去除特殊字符）或double类型，最终强制转换为float类型返回。                                                                | -                                                                                                                                                                                              |
| getDouble(int columnIndex)                                            | 若列OID为FLOAT8，则直接转换为double类型返回。其他场景下，将数据先转换为String（去除特殊字符），最终解析并转换为double类型返回。                                                                      | -                                                                                                                                                                                              |
| getDouble(String columnLabel)                                         | 若列OID为FLOAT8，则直接转换为double类型返回。其他场景下，将数据先转换为String（去除特殊字符），最终解析并转换为double类型返回。                                                                      | -                                                                                                                                                                                              |
| getBigDecimal(int columnIndex, int scale)                             | 基于列OID及设置的连接参数获取对应的JDBC类型，依据该类型将数据先转换为String、Number或long类型，最终构造并返回BigDecimal对象。                                                                    | 四个接口底层调用同一个函数getBigDecimal(int columnIndex, int scale)，其中 getBigDecimal(int columnIndex)和getBigDecimal(String columnLabel)调用时scale为-1。             |
| getBigDecimal(String columnLabel, int scale)                          | 基于列OID及设置的连接参数获取对应的JDBC类型，依据该类型将数据先转换为String、Number或long类型，最终构造并返回BigDecimal对象。                                                                    | 四个接口底层调用同一个函数getBigDecimal(int columnIndex, int scale)，其中 getBigDecimal(int columnIndex)和getBigDecimal(String columnLabel)调用时scale为-1。             |
| getBigDecimal(int columnIndex)                                        | 基于列OID及设置的连接参数获取对应的JDBC类型，依据该类型将数据先转换为String、Number或long类型，最终构造并返回BigDecimal对象。                                                                    | 四个接口底层调用同一个函数getBigDecimal(int columnIndex, int scale)，其中 getBigDecimal(int columnIndex)和getBigDecimal(String columnLabel)调用时scale为-1。             |
| getBigDecimal(String columnLabel)                                     | 基于列OID及设置的连接参数获取对应的JDBC类型，依据该类型将数据先转换为String、Number或long类型，最终构造并返回BigDecimal对象。                                                                    | 四个接口底层调用同一个函数getBigDecimal(int columnIndex, int scale)，其中 getBigDecimal(int columnIndex)和getBigDecimal(String columnLabel)调用时scale为-1。             |
| getBytes(int columnIndex)                                             | 基于列OID及设置的连接参数，部分场景直接保留并返回byte数组；其他场景先将数据转为JDBC类型对应的String，再提取为byte数组。最终会根据Statement.setMaxFieldSize的限制，截取数组长度后返回。                                 | -                                                                                                                                                                                              |
| getBytes(String columnLabel)                                          | 基于列OID及设置的连接参数，部分场景直接保留并返回byte数组；其他场景先将数据转为JDBC类型对应的String，再提取为byte数组。最终会根据Statement.setMaxFieldSize的限制，截取数组长度后返回。                                 | -                                                                                                                                                                                              |
| getDate(int columnIndex)                                              | 基于列OID及设置的连接参数，部分场景直接转换为Timestamp或天数，再结合时区换算为Date返回；其他场景先转换为String，再结合时区解析构造为Date对象返回。                                                             | 四个接口底层调用同一个函数getDate(int columnIndex, java.util.Calendar cal)，其中 getDate(int columnIndex)和getDate(String columnLabel)调用时cal为null。                |
| getDate(String columnLabel)                                           | 基于列OID及设置的连接参数，部分场景直接转换为Timestamp或天数，再结合时区换算为Date返回；其他场景先转换为String，再结合时区解析构造为Date对象返回。                                                             | 四个接口底层调用同一个函数getDate(int columnIndex, java.util.Calendar cal)，其中 getDate(int columnIndex)和getDate(String columnLabel)调用时cal为null。                |
| getDate(int columnIndex, Calendar cal)                                | 基于列OID及设置的连接参数，部分场景直接转换为Timestamp或天数，再结合时区换算为Date返回；其他场景先转换为String，再结合时区解析构造为Date对象返回。                                                             | 四个接口底层调用同一个函数getDate(int columnIndex, java.util.Calendar cal)，其中 getDate(int columnIndex)和getDate(String columnLabel)调用时cal为null。                |
| getDate(String columnLabel, Calendar cal)                             | 基于列OID及设置的连接参数，部分场景直接转换为Timestamp或天数，再结合时区换算为Date返回；其他场景先转换为String，再结合时区解析构造为Date对象返回。                                                             | 四个接口底层调用同一个函数getDate(int columnIndex, java.util.Calendar cal)，其中 getDate(int columnIndex)和getDate(String columnLabel)调用时cal为null。                |
| getTime(int columnIndex)                                              | 基于列OID及设置的连接参数，部分场景直接转换对应底层数据并结合时区计算Time值；其他场景先转换为String，再结合时区解析构造为Time对象返回。                                                                       | 四个接口底层调用同一个函数getTime(int columnIndex, java.util.Calendar cal)，其中 getTime(int columnIndex)和getTime(String columnLabel)调用时cal为null。                 |
| getTime(String columnLabel)                                           | 基于列OID及设置的连接参数，部分场景直接转换对应底层数据并结合时区计算Time值；其他场景先转换为String，再结合时区解析构造为Time对象返回。                                                                       | 四个接口底层调用同一个函数getTime(int columnIndex, java.util.Calendar cal)，其中 getTime(int columnIndex)和getTime(String columnLabel)调用时cal为null。                 |
| getTime(int columnIndex, Calendar cal)                                | 基于列OID及设置的连接参数，部分场景直接转换对应底层数据并结合时区计算Time值；其他场景先转换为String，再结合时区解析构造为Time对象返回。                                                                       | 四个接口底层调用同一个函数getTime(int columnIndex, java.util.Calendar cal)，其中 getTime(int columnIndex)和getTime(String columnLabel)调用时cal为null。                 |
| getTime(String columnLabel, Calendar cal)                             | 基于列OID及设置的连接参数，部分场景直接转换对应底层数据并结合时区计算Time值；其他场景先转换为String，再结合时区解析构造为Time对象返回。                                                                       | 四个接口底层调用同一个函数getTime(int columnIndex, java.util.Calendar cal)，其中 getTime(int columnIndex)和getTime(String columnLabel)调用时cal为null。                 |
| getTimestamp(int columnIndex)                                         | 基于列OID及设置的连接参数，部分场景直接转换对应底层数据并结合时区计算Timestamp值；其他场景先转换为String，再结合时区解析构造为Timestamp对象返回。                                                             | 四个接口底层调用同一个函数getTimestamp(int columnIndex, java.util.Calendar cal)，其中 getTimestamp(int columnIndex)和getTimestamp(String columnLabel)调用时cal为null。 |
| getTimestamp(String columnLabel)                                      | 基于列OID及设置的连接参数，部分场景直接转换对应底层数据并结合时区计算Timestamp值；其他场景先转换为String，再结合时区解析构造为Timestamp对象返回。                                                             | 四个接口底层调用同一个函数getTimestamp(int columnIndex, java.util.Calendar cal)，其中 getTimestamp(int columnIndex)和getTimestamp(String columnLabel)调用时cal为null。 |
| getTimestamp(int columnIndex, Calendar cal)                           | 基于列OID及设置的连接参数，部分场景直接转换对应底层数据并结合时区计算Timestamp值；其他场景先转换为String，再结合时区解析构造为Timestamp对象返回。                                                             | 四个接口底层调用同一个函数getTimestamp(int columnIndex, java.util.Calendar cal)，其中 getTimestamp(int columnIndex)和getTimestamp(String columnLabel)调用时cal为null。 |
| getTimestamp(String columnLabel, Calendar cal)                        | 基于列OID及设置的连接参数，部分场景直接转换对应底层数据并结合时区计算Timestamp值；其他场景先转换为String，再结合时区解析构造为Timestamp对象返回。                                                             | 四个接口底层调用同一个函数getTimestamp(int columnIndex, java.util.Calendar cal)，其中 getTimestamp(int columnIndex)和getTimestamp(String columnLabel)调用时cal为null。 |
| getAsciiStream(int columnIndex)                                       | 基于列OID及设置的连接参数，将数据转为String后，按ASCII编码将其转换为字节数组，并封装为ByteArrayInputStream对象作为InputStream返回。                                                           | -                                                                                                                                                                                              |
| getAsciiStream(String columnLabel)                                    | 基于列OID及设置的连接参数，将数据转为String后，按ASCII编码将其转换为字节数组，并封装为ByteArrayInputStream对象作为InputStream返回。                                                           | -                                                                                                                                                                                              |
| getBinaryStream(int columnIndex)                                      | 逻辑参考getBytes。获取符合Statement.setMaxFieldSize长度限制的byte数组后，将其封装为ByteArrayInputStream对象作为InputStream返回。                                                 | -                                                                                                                                                                                              |
| getBinaryStream(String columnLabel)                                   | 逻辑参考getBytes。获取符合Statement.setMaxFieldSize长度限制的byte数组后，将其封装为ByteArrayInputStream对象作为InputStream返回。                                                 | -                                                                                                                                                                                              |
| getObject(int columnIndex)                                            | 基于列OID及设置的连接参数，获取对应的JDBC类型并进行转换返回。在涉及String类型转换的过程中，会对部分特殊数据进行针对性处理。                                                                               | -                                                                                                                                                                                              |
| getObject(String columnLabel)                                         | 基于列OID及设置的连接参数，获取对应的JDBC类型并进行转换返回。在涉及String类型转换的过程中，会对部分特殊数据进行针对性处理。                                                                               | -                                                                                                                                                                                              |
| getCharacterStream(int columnIndex)                                   | 内部调用getString获取字符串，通过toCharArray()将其转换为字符数组，并以此数组构造CharArrayReader作为Reader返回。                                                                      | -                                                                                                                                                                                              |
| getCharacterStreamt(String columnLabel)                               | 内部调用getString获取字符串，通过toCharArray()将其转换为字符数组，并以此数组构造CharArrayReader作为Reader返回。                                                                      | -                                                                                                                                                                                              |
| getRow()                                                              | 获取当前结果集游标所在的行号。行号从1开始递增（第一行为1，第二行为2，以此类推）。                                                                                                         | -                                                                                                                                                                                              |
| getObject(int columnIndex, java.util.Map\<String,Class\<?\>\> map)    | JDBC驱动暂不支持自定义类型映射。当传入的map为空时，默认降级调用getObject(int columnIndex)接口返回数据。                                                                               | -                                                                                                                                                                                              |
| getObject(String columnLabel, java.util.Map\<String,Class\<?\>\> map) | JDBC驱动暂不支持自定义类型映射。当传入的map为空时，默认降级调用getObject(int columnIndex)接口返回数据。                                                                               | -                                                                                                                                                                                              |
| getRef(int columnIndex)                                               | 暂不支持。                                                                                                                                              | -                                                                                                                                                                                              |
| getRef(String columnLabel)                                            | 暂不支持。                                                                                                                                              | -                                                                                                                                                                                              |
| getBlob(int columnIndex)                                              | 基于列OID及设置的连接参数获取处理后的byte数组，以此底层数据构造并返回基于java.sql.Blob接口实现的实例对象。                                                                                    | -                                                                                                                                                                                              |
| getBlob(String columnLabel)                                           | 基于列OID及设置的连接参数获取处理后的byte数组，以此底层数据构造并返回基于java.sql.Blob接口实现的实例对象。                                                                                    | -                                                                                                                                                                                              |
| getClob(int columnIndex)                                              | 基于列OID及设置的连接参数获取处理后的byte数组，以此底层数据构造并返回基于java.sql.Clob接口实现的实例对象。                                                                                    | -                                                                                                                                                                                              |
| getClob(String columnLabel)                                           | 基于列OID及设置的连接参数获取处理后的byte数组，以此底层数据构造并返回基于java.sql.Clob接口实现的实例对象。                                                                                    | -                                                                                                                                                                                              |
| getArray(int columnIndex)                                             | 基于列OID及设置的连接参数获取处理后的byte数组，以此底层数据构造并返回基于java.sql.Array接口实现的实例对象。                                                                                   | -                                                                                                                                                                                              |
| getArray(String columnLabel)                                          | 基于列OID及设置的连接参数获取处理后的byte数组，以此底层数据构造并返回基于java.sql.Array接口实现的实例对象。                                                                                   | -                                                                                                                                                                                              |
| getURL(int columnIndex)                                               | 内部调用getString获取字符串，并利用该字符串构造java.net.URL对象返回。                                                                                                      | -                                                                                                                                                                                              |
| getURL(String columnLabel)                                            | 内部调用getString获取字符串，并利用该字符串构造java.net.URL对象返回。                                                                                                      | -                                                                                                                                                                                              |
| getRowId(int columnIndex)                                             | 内部调用getBytes获取byte数组，以此底层数据构造并返回基于java.sql.RowId接口实现的实例对象。                                                                                         | -                                                                                                                                                                                              |
| getRowId(String columnLabel)                                          | 内部调用getBytes获取byte数组，以此底层数据构造并返回基于java.sql.RowId接口实现的实例对象。                                                                                         | -                                                                                                                                                                                              |
| getHoldability()                                                      | 暂不支持。                                                                                                                                              | -                                                                                                                                                                                              |
| getNClob(int columnIndex)                                             | 暂不支持。                                                                                                                                              | -                                                                                                                                                                                              |
| getNClob(String columnLabel)                                          | 暂不支持。                                                                                                                                              | -                                                                                                                                                                                              |
| getSQLXML(int columnIndex)                                            | 内部调用getString获取字符串，并利用该字符串构造并返回基于java.sql.SQLXML接口实现的实例对象。                                                                                         | -                                                                                                                                                                                              |
| getSQLXML(String columnLabel)                                         | 内部调用getString获取字符串，并利用该字符串构造并返回基于java.sql.SQLXML接口实现的实例对象。                                                                                         | -                                                                                                                                                                                              |
| getNString(int columnIndex)                                           | 处理逻辑同getString。                                                                                                                                    | -                                                                                                                                                                                              |
| getNString(String columnLabel)                                        | 处理逻辑同getString。                                                                                                                                    | -                                                                                                                                                                                              |
| getNCharacterStream(int columnIndex)                                  | 暂不支持。                                                                                                                                              | -                                                                                                                                                                                              |
| getNCharacterStream(String columnLabel)                               | 暂不支持。                                                                                                                                              | -                                                                                                                                                                                              |
| getObject(int columnIndex, Class\<T\> type)                           | 根据传入的type参数（Class类型），决定数据库返回byte数据的转换方法，并按指定的类型返回（部分特定类型包含特殊处理逻辑）。                                                                                 | -                                                                                                                                                                                              |
| getObject(String columnLabel, Class\<T\> type)                        | 根据传入的type参数（Class类型），决定数据库返回byte数据的转换方法，并按指定的类型返回（部分特定类型包含特殊处理逻辑）。                                                                                 | -                                                                                                                                                                                              |
| getCursorName()                                                       | 返回null。                                                                                                                                            | -                                                                                                                                                                                              |
| getMetaData()                                                         | 返回包含当前结果集所有列的元数据描述。                                                                                                                                | -                                                                                                                                                                                              |
| getFetchDirection()                                                   | 返回当前ResultSet的数据抓取方向（fetch direction）。                                                                                                             | -                                                                                                                                                                                              |
| getFetchSize()                                                        | 返回当前ResultSet的抓取大小（fetch size），即JDBC驱动每次从数据库批量获取的行数提示值。                                                                                            | -                                                                                                                                                                                              |
| getType()                                                             | 返回当前ResultSet的类型（游标类型）。                                                                                                                            | -                                                                                                                                                                                              |
| getConcurrency()                                                      | 返回当前ResultSet的并发模式。                                                                                                                                | -                                                                                                                                                                                              |
| getStatement()                                                        | 返回当前ResultSet的Statement对象。                                                                                                                         | -                                                                                                                                                                                              |
   
![](https://support.huaweicloud.com/distributed-devg-v10-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
GaussDB JDBC调用ResultSet类中的get接口时， 具体的数据解码与类型映射逻辑在部分场景与Oracle存在差异。
这种底层驱动的切换，通常会在以下几个维度引发Java应用层面上数据表现的差异：
- 类型映射策略的不同：不同驱动对于数据库原生类型（如通用的NUMBER）的理解不同。部分驱动倾向于强类型的严格映射（如强制映射为BigDecimal），而定制驱动可能为了兼容特定的历史系统，将其泛化映射为Double或String。
- 精度与舍入边界的把控：在处理带有高精度小数或极端大数时，不同驱动的"容忍度"不同。有些驱动在遇到精度溢出时会静默截断或补零，而严谨的驱动则可能直接抛出边界异常。
- 环境与上下文的依赖：对于时间戳等敏感数据，不同驱动在解析纯数字时，引入本地服务器时区偏移补偿的算法和基准可能存在细微出入。
- 空值与脏数据的兜底策略：当数据库底层为NULL或非标数据格式时，不同驱动的异常阻断机制和默认值填充策略（Fallback逻辑）一般会相差很大。
- 隐式类型转换的宽容度与规则：当调用的ResultSet类get接口与数据库底层列类型不严格匹配时（例如对数值/日期列调用getString()，或对字符串列调用getInt()），不同驱动的隐式转换机制存在差异。部分驱动极其宽容，会在底层自动完成跨类型的强制转换；而更严格的驱动可能会直接抛出类型不匹配异常，或在将其隐式转换为字符串时，采用截然不同的默认序列化格式（如时间的默认输出样式不同）。
 
