DB2 for z/OS - Character string constants - Constantes de string de caracteres


Volta a página anterior

Volta ao Menu Principal


Desenvolvido por DORNELLES, Carlos Alberto - Analista de Sistemas - Brasília DF. - cad_cobol@hotmail.com

DB2 for z/OS - Character string constants - Constantes de string de caracteres

A character string constant specifies a varying-length character string.
There are two forms of character string constant.

Uma constante de cadeia de caracteres especifica uma cadeia de caracteres de comprimento variável.
Existem duas formas de constantes de cadeia de caracteres.

  • A sequence of characters that starts and ends with a string delimiter, which is either an apostrophe (') or a quotation mark (").
    For the factors that determine which is applicable, see Apostrophes and quotation marks as string delimiters.
    This form of string constant specifies the character string contained between the string delimiters.
    The number of bytes between the delimiters must not be greater than 32704.
    The limit of 32704 refers to the length (in bytes) of the UTF-8 representation of the string.
    If you produced the string in a CCSID other than UTF-8 (for example, an EBCDIC CCSID), the length of the UTF-8 representation might differ from the length of the string's representation in the source CCSID.
    Two consecutive string delimiters are used to represent one string delimiter within the character string.

  • Uma sequência de caracteres que começa e termina com um delimitador de string, que é um apóstrofo (') ou uma aspa (").
    Para os fatores que determinam qual é aplicável, consulte Apóstrofos e aspas como delimitadores de string.
    Esta forma de constante de string especifica a string de caracteres contida entre os delimitadores de string.
    O número de bytes entre os delimitadores não deve ser maior que 32704. O limite de 32704 refere-se ao comprimento (em bytes) da representação UTF-8 da string.
    Se você produziu a sequência em um CCSID diferente de UTF-8 (por exemplo, um EBCDIC CCSID), o comprimento da representação UTF-8 pode ser diferente do comprimento da representação da sequência no CCSID de origem.
    Dois delimitadores de sequência consecutivos são usados ??para representar um delimitador de sequência dentro da sequência de caracteres.

  • An X followed by a sequence of characters that starts and ends with a string delimiter.
    This form of a character string constant is also called a hexadecimal constant.
    The characters between the string delimiters must be an even number of hexadecimal digits.
    The number of hexadecimal digits must not exceed 32704. A hexadecimal digit is a digit or any of the letters A through F.
    If the MIXED DATA subsystem parameter is set to YES, hexadecimal digits in a hexadecimal constant must be specified in upper case.
    Otherwise, an error might be returned when SQL statements are processed. Under the conventions of hexadecimal notation, each pair of hexadecimal digits represents a character.
    A hexadecimal constant allows you to specify characters that do not have a keyboard representation.

  • Um X seguido por uma sequência de caracteres que começa e termina com um delimitador de string.
    Essa forma de constante de string de caracteres também é chamada de constante hexadecimal.
    Os caracteres entre os delimitadores de string devem ser um número par de dígitos hexadecimais.
    O número de dígitos hexadecimais não deve exceder 32704. Um dígito hexadecimal é um dígito ou qualquer uma das letras de A a F.
    Se o parâmetro do subsistema MIXED DATA for definido como YES, os dígitos hexadecimais em uma constante hexadecimal devem ser especificados em maiúsculas.
    Caso contrário, um erro pode ser retornado quando as instruções SQL são processadas.
    De acordo com as convenções da notação hexadecimal, cada par de dígitos hexadecimais representa um caractere.
    Uma constante hexadecimal permite que você especifique caracteres que não possuem uma representação de teclado.

Examples:

    '12/14/1985'    '32'    'DON''T CHANGE'    X'FFFF'    ''

The right most string in the example ('') represents an empty character string constant, which is a string of zero length.

A string mais à direita no exemplo ('') representa uma constante de string de caractere vazia, que é uma string de comprimento zero.

A character string constant is classified as mixed data if it includes a DBCS substring.
In all other cases, a character string constant is classified as SBCS data.
For information about the CCSID that is assigned to the constant, see Determining the encoding scheme and CCSID of a string.
A mixed string constant can be continued from one line to the next only if the break occurs between single byte characters.
A Unicode string is always considered mixed regardless of the content of the string.

Uma constante de string de caracteres é classificada como dados mistos se incluir uma substring DBCS.
Em todos os outros casos, uma constante de cadeia de caracteres é classificada como dados SBCS.
Para obter informações sobre o CCSID atribuído à constante, consulte Determinando o esquema de codificação e o CCSID de uma sequência.
Uma constante de string mista pode ser continuada de uma linha para a próxima apenas se a quebra ocorrer entre caracteres de byte único.
Uma string Unicode é sempre considerada mista, independentemente do conteúdo da string.

For Unicode, character constants can be assigned to UTF-8 and UTF-16.
The form of the constant does not matter.
Typically, character string constants are used only with character strings, but they also can be used with graphic UTF-16 data.
However, hexadecimal constants are just character data.
Thus, hexadecimal constants being used to insert data into UTF-16 data strings should be in UTF-8 format, not UTF-16 format.
For example, if you wanted to insert the number 1 into a UTF-16 column, you would use X'31', not X'0031'.
Even though X'0031' is a UTF-16 value, Db2 treats it as two separate UTF-8 code points.
Thus, X'0031' would become X'00000031'.

Para Unicode, constantes de caracteres podem ser atribuídas a UTF-8 e UTF-16.
A forma da constante não importa. Normalmente, constantes de sequência de caracteres são usadas apenas com sequências de caracteres, mas também podem ser usadas com dados gráficos UTF-16.
No entanto, constantes hexadecimais são apenas dados de caracteres.
Portanto, as constantes hexadecimais usadas para inserir dados em strings de dados UTF-16 devem estar no formato UTF-8, não no formato UTF-16.
Por exemplo, se você quiser inserir o número 1 em uma coluna UTF-16, deverá usar X'31 ' , não X'0031' .
Mesmo que X'0031 ' seja um valor UTF-16, o Db2 o trata como dois pontos de código UTF-8 separados.
Portanto, X'0031 ' se tornaria X'00000031' .

Parent topic: Constants


© Copyright IBM Corp.