private Object readField(ResultSet rs, int fieldNo, Column actualColumn, Table actualTable)
            throws SQLException {
        if (actualColumn.jdbcType() == Types.TIME) {
            return readTimeField(rs, fieldNo);
        } else if (actualColumn.jdbcType() == Types.DATE) {
            return readDateField(rs, fieldNo, actualColumn, actualTable);
        } else if (actualColumn.jdbcType() == Types.TIMESTAMP) {
            return readTimestampField(rs, fieldNo, actualColumn, actualTable);
        } else if (actualColumn.jdbcType() == Types.TINYINT
                || actualColumn.jdbcType() == Types.SMALLINT) {
            return rs.getObject(fieldNo) == null ? null : rs.getInt(fieldNo);
        } else if ("CHAR".equals(actualColumn.typeName())
                || "VARCHAR".equals(actualColumn.typeName())
                || "TEXT".equals(actualColumn.typeName())) {
            return rs.getBytes(fieldNo);
        } else {
            return rs.getObject(fieldNo);
        }
    }
Read JDBC return value and deal special type like time, timestamp.

<p>Note https://issues.redhat.com/browse/DBZ-3238 has fixed this issue, please remove this
method once we bump Debezium version to 1.6</p>
inlong-sort/sort-flink/sort-flink-v1.13/sort-connectors/mysql-cdc/src/main/java/org/apache/inlong/sort/cdc/mysql/debezium/task/MySqlSnapshotSplitReadTask.java