Help Center> GaussDB(DWS)> Troubleshooting> Database Use> Byte Type Is Returned After a Table Column of the Character Type Is Read in Java
Updated on 2023-04-18 GMT+08:00

Byte Type Is Returned After a Table Column of the Character Type Is Read in Java

Symptom

A column in a newly created database table is of the character type. However, after the column is read in Java, the returned type is byte.

For example, create a table using the following statement:

1
2
3
4
CREATE TABLE IF NOT EXISTS table01(
   msg_id character(36),
   msg character varying(50)
);

In Java, the code for reading the field of the character type is as follows:

1
ColumnMetaInfo(msg_id,1,Byte,true,false,1,true);

Possible Causes

CHARACTER(n) is a fixed-length character string. When the actual string length is insufficient, the database pads it with spaces. Then, Java uses the byte type to receive the string. CHARACTER VARYING(n) is a variable-length character string. Java uses the string type to receive it.