Fetch VARCHAR data
The following table shows the conversion of VARCHAR data
when an application fetches it into host variables of char, fixchar, lvarchar,
and string character data types.
| Source type | Destination type | Result |
|---|---|---|
| VARCHAR | char | If the source is longer, truncate and null terminate the value, and set any indicator variable. If the destination is longer, pad the value with trailing spaces and null terminate it. |
| VARCHAR | fixchar | If the source is longer, truncate the value and set any indicator variable. If the destination is longer, pad the value with trailing spaces. |
| VARCHAR | string | If the source is longer, truncate and null terminate the value, and set any indicator variable. If the destination is longer, null terminate the value. |
| VARCHAR | lvarchar | If the source is longer, truncate and set any indicator variable. If the destination is longer, null terminate it. |
The following table shows examples of conversions from
VARCHAR column data to character host variables that might perform
during a fetch. In this figure, a plus (+) symbol represents a space
character and the value in the Length column includes any null
terminators.
| Source type | Contents | Length | Destination type | Contents | Indicator |
|---|---|---|---|---|---|
| VARCHAR(9) | Fairfield | 9 | char(5) | Fair\0 | 9 |
| VARCHAR(9) | Fairfield | 9 | char(12) | Fairfield++\0 | 0 |
| VARCHAR(12) | Fairfield+++ | 12 | char(10) | Fairfield\0 | 12 |
| VARCHAR(10) | Fairfield+ | 10 | char(4) | Fai\0 | 10 |
| VARCHAR(11) | Fairfield++ | 11 | char(14) | Fairfield++++\0 | 0 |
| VARCHAR(9) | Fairfield | 9 | fixchar(5) | Fairf | 9 |
| VARCHAR(9) | Fairfield | 9 | fixchar(10) | Fairfield+ | 0 |
| VARCHAR(10) | Fairfield+ | 10 | fixchar(9) | Fairfield | 10 |
| VARCHAR(10) | Fairfield+ | 10 | fixchar(6) | Fairfi | 10 |
| VARCHAR(10) | Fairfield+ | 10 | fixchar(11) | Fairfield++ | 0 |
| VARCHAR(9) | Fairfield | 9 | string(4) | Fai\0 | 9 |
| VARCHAR(9) | Fairfield | 9 | string(12) | Fairfield\0 | 0 |
| VARCHAR(12) | Fairfield+++ | 12 | string(10) | Fairfield\0 | 12 |
| VARCHAR(11) | Fairfield++ | 11 | string(6) | Fairf\0 | 11 |
| VARCHAR(10) | Fairfield++ | 10 | string(11) | Fairfield\0 | 0 |
| VARCHAR(10) | Fairfield+ | 10 | lvarchar(11) | Fairfield+ | 0 |
| VARCHAR(9) | Fairfield | 9 | lvarchar(5) | Fair\0 | 9 |