VARGRAPHIC Função escalar
A função VARGRAPHIC retorna uma representação de cadeia gráfica de comprimento variável de um valor de um tipo de dado diferente.
Inteiro para vargraphic
Decimal para vargraphic
Flutuante-ponto para vargraphic
Decimal floating-ponto a vargraphic
Caractere para vargraphic
Gráfico para vargraphic
Datetime a vargraphic
Boolean para vargraphic
O esquema é SYSIBM. O nome da função não pode ser especificado como um nome qualificado quando palavras-chave são usadas na assinatura de função.
- Inteiro para vargraphic
- expressão inteira
- Uma expressão que retorna um valor que é de um tipo de dado inteiro (SMALLINT, INTEGER ou BIGINT).
O resultado é a representação de cadeia gráfica de comprimento variável de integer-expression na forma de uma constante de número inteiro SQL. O atributo length do resultado depende de se integer-expression é um inteiro pequeno, grande ou grande, da seguinte forma:- Se o primeiro argumento for um pequeno inteiro, o comprimento máximo do resultado é 6.
- Se o primeiro argumento for um inteiro grande, o comprimento máximo do resultado é 11.
- Se o primeiro argumento for um grande número inteiro, o comprimento máximo do resultado é 20.
A página de código do resultado é a página de código DBCS da seção.
- Decimal para vargraphic
- decimal-expressão
- Uma expressão que retorna um valor que é um tipo de dados decimal. A função escalar DECIMAL pode ser usada para alterar a precisão e a escala. caractere decimal
- Especifica a constante de caracteres de byte duplo que é usada para delimitar os dígitos decimais na sequência gráfica de resultado. A constante de caracteres de duplo byte não pode ser um dígito, o sinal de mais (+), o sinal de menos (-), ou um branco (SQLSTATE 42815). O padrão é o caractere (.) do período.
A página de código do resultado é a página de código DBCS da seção.
- Flutuante-ponto para vargraphic
- expressão de ponto flutuante
- Uma expressão que retorna um valor que é um tipo de dados de ponto flutuante (DOUBLE ou REAL). caractere decimal
- Especifica a constante de caracteres de byte duplo que é usada para delimitar os dígitos decimais na sequência gráfica de resultado. A constante de caracteres de duplo byte não pode ser um dígito, o sinal de mais (+), o sinal de menos (-), ou um branco (SQLSTATE 42815). O padrão é o caractere (.) do período.
O resultado é uma representação de cadeia gráfica de comprimento variável de floating-point-expression na forma de uma constante de ponto flutuante SQL.
O comprimento máximo do resultado é 24. O comprimento real do resultado é o menor número de caracteres de byte duplo que pode representar o valor de floating-point-expression tal que a mantissa consiste em um único dígito diferente de zero seguido do decimal-character e uma sequência de digitos. Se floating-point-expression for negativa, o primeiro caractere de byte duplo do resultado é um sinal de menos; caso contrário, o primeiro caractere de byte duplo é um dígito. Se floating-point-expression for zero, o resultado será 0E0.
A página de código do resultado é a página de código DBCS da seção.
- Decimal floating-ponto a vargraphic
- expressão decimal de ponto flutuante
- Uma expressão que retorna um valor que é um tipo de dado decimal floating-point (DECFLOAT). caractere decimal
- Especifica a constante de caracteres de byte duplo que é usada para delimitar os dígitos decimais na sequência gráfica de resultado. A constante de caracteres de duplo byte não pode ser um dígito, o sinal de mais (+), o sinal de menos (-), ou um branco (SQLSTATE 42815). O padrão é o caractere (.) do período.
O resultado é uma representação de cadeia gráfica de comprimento variável de decimal-floating-point-expression na forma de uma constante de ponto de flutuação decimal SQL. O comprimento máximo do resultado é 42. O comprimento real do resultado é o menor número de caracteres de byte duplo que pode representar o valor de decimal-floating-point-expression. Se decimal-floating-point-expression for negativo, o primeiro caractere de byte duplo do resultado é um sinal de menos; caso contrário, o primeiro caractere de byte duplo é um dígito. Se decimal-floating-point-expression for zero, o resultado será 0.
Se o valor de decimal-floating-point-expression for o valor especial Infinity, sNaN, ou NaN, as cadeias de caracteres G'INFINITY', G'SNAN' e G'NAN', respectivamente, serão retornadas. Se o valor especial for negativo, o primeiro caractere de byte duplo do resultado é um sinal de menos. O valor especial de ponto flutuante decimal sNaN não resulta em um aviso quando convertido em uma cadeia de caracteres.
A página de código do resultado é a página de código DBCS da seção.
- Caractere para vargraphic
- Em bancos de dados Unicode:
- caractere-expressão
- Uma expressão que retorna um valor que é um tipo de dados string de caracteres embutidos. A expressão não deve ser um subtipo DATA BIT DATA (SQLSTATE 42846). inteiro
- Uma constante de número inteiro que especifica o atributo length para a cadeia gráfica de comprimento variável resultante. O valor deve estar entre 0 e o comprimento máximo para o tipo de dados VARGRAPHIC nas unidades string do resultado.Se o segundo argumento não for especificado:
- Se o character-expression é a constante de cadeia vazia, o atributo length do resultado é 0.
- Caso contrário, o atributo length do resultado é o inferior dos seguintes valores:
- O comprimento máximo para o tipo de dados VARGRAPHIC nas unidades string do resultado.
- O atributo length do primeiro argumento.
O resultado é uma cadeia gráfica de comprimento variável que é convertida a partir de character-expression. O atributo length do resultado é determinado pelo valor de integer.
Se o comprimento de character-expression que é convertido em uma string gráfica for maior do que o atributo length do resultado, vários cenários existem:- Se a unidade de sequência do resultado for CODEUNITS32, o truncamento será realizado. Se apenas caracteres em branco são truncados e character-expression é CHAR ou VARCHAR, nenhum aviso é retornado. Caso contrário, um aviso é retornado (SQLSTATE 01004).
- Se integer for especificado, o truncamento é realizado com um aviso retornado (SQLSTATE 01004). Quando a cadeia de saída é truncada, tal que o último caractere é um sub-rogado alto, essa barriga de aluguel é excluída. Não dependa deste comportamento porque ele pode mudar em um release futuro.
- Se integer não for especificado e character-expression é um VARCHAR, truncamento é realizado com um aviso retornado (SQLSTATE 01004).
- Se integer não for especificado e o caractere-expressão for um CLOB, um erro será retornado (SQLSTATE 22001).
Esta função converte character-expression a partir de UTF-8 para UTF-16. Todo caractere de character-expression é convertido.
- Gráfico para vargraphic
- expressão gráfica
- Uma expressão que retorna um valor que é um tipo de dados de cadeia gráfica embutida. inteiro
- Uma constante de número inteiro que especifica o atributo length para a cadeia gráfica de comprimento variável resultante. O valor deve estar entre 0 e o comprimento máximo para o tipo de dados VARGRAPHIC nas unidades string do resultado. Se o segundo argumento não for especificado:
- Se o graphic-expression é a constante de cadeia vazia, o atributo length do resultado é 0.
- Caso contrário, o atributo length do resultado é o inferior dos seguintes valores:
- O comprimento máximo para o tipo de dados VARGRAPHIC nas unidades string do resultado
- O atributo length do primeiro argumento
O resultado é uma cadeia gráfica de comprimento variável. O atributo length do resultado é determinado pelo valor de integer.
Se o comprimento de graphic-expression for maior do que o atributo length do resultado, vários cenários existem:- Se a unidade de sequência do resultado for CODEUNITS32, o truncamento será realizado. Se somente caracteres em branco são truncados e graphic-expression é GRAPHIC ou VARGRAPHIC, nenhum aviso é retornado. Caso contrário, um aviso é retornado (SQLSTATE 01004).
- Se inteiro for especificado, o truncamento é realizado. Se somente caracteres em branco são truncados e graphic-expression é GRAPHIC ou VARGRAPHIC, nenhum aviso é retornado. Caso contrário, um aviso é retornado (SQLSTATE 01004). Em um banco de dados Unicode, quando a cadeia de saída é truncada, tal que o último caractere é um sub-rogado alto, esse substituo é convertido para o caractere em branco (X'0020 '). Não dependa deste comportamento, pois ele pode mudar em um release futuro.
- Se integer não for especificado, um erro será retornado (SQLSTATE 22001).
- Datetime a vargraphic
- expressão de data e hora
- Uma expressão que é um dos seguintes tipos de dados:
- DATA
- O resultado é a representação da cadeia gráfica da data no formato especificado pelo segundo argumento. O comprimento do resultado é 10. Um erro é retornado se o segundo argumento for especificado e não for um valor válido (SQLSTATE 42703).
- Horário
- O resultado é a representação de cadeia gráfica do tempo no formato especificado pelo segundo argumento. O comprimento do resultado é 8. Um erro é retornado se o segundo argumento for especificado e não for um valor válido (SQLSTATE 42703).
- TIMESTAMP
- O resultado é a representação de cadeia gráfica do timestamp. Se o tipo de dados de datetime-expression for TIMESTAMP (0), o comprimento do resultado será 19. Se o tipo de dados de datetime-expression for TIMESTAMP (n), onde n está entre 1 e 12, o comprimento do resultado é 20 +n. Caso contrário, o comprimento do resultado é 26. O segundo argumento não deve ser especificado (SQLSTATE 42815).
- Uma expressão que é um dos seguintes tipos de dados:
- Boolean para vargraphic
- expressão booleana
- Uma expressão que retorna um valor booleano (TRUE ou FALSE). O resultado é 'TRUE' ou 'FALSE'.
Result
- Um número inteiro (somente banco de dados Unicode), se o primeiro argumento for um SMALLINT, INTEGER ou BIGINT
- Um número decimal (somente banco de dados Unicode), se o primeiro argumento for um número decimal
- Um número de ponto de flutuação de dupla precisão (somente banco de dados Unicode), se o primeiro argumento for um DOUBLE ou REAL
- Um número de ponto de flutuação decimal (somente banco de dados Unicode), se o primeiro argumento for um número de ponto de flutuação decimal (DECFLOAT)
- Uma sequência de caracteres, se o primeiro argumento for qualquer tipo de cadeia de caracteres
- Uma sequência gráfica, se o primeiro argumento for qualquer tipo de cadeia gráfica
- Um valor de datetime (somente bancos de dados Unicode), se o argumento first for um DATE, TIME ou TIMESTAMP
- Um valor booleano (TRUE ou FALSE)
- CODEUNITS16, se o primeiro argumento for sequência de caracteres ou uma sequência gráfica com unidades de cadeia de OCTETS ou CODEUNITS16.
- CODEUNITS32, se o primeiro argumento for sequência de caracteres ou uma sequência gráfica com unidades de cadeia de CODEUNITS32.
- Determinado pela unidade de cadeia padrão do ambiente, se o primeiro argumento não for uma sequência de caracteres ou uma string gráfica.
Se o primeiro argumento pode ser nulo, o resultado pode ser nulo; se o primeiro argumento for nulo, o resultado será o valor nulo.
Notas
- Aumentando a portabilidade de aplicativos: Se o primeiro argumento for numérico, ou se o primeiro argumento for uma string e o argumento length for especificado, use a especificação CAST em vez desta função aumentar a portabilidade de suas aplicações.
Exemplos
- Exemplo 1: A coluna EDLEVEL é definida como SMALLINT. A instrução a seguir retorna o valor como uma sequência gráfica de comprimento variável.
Resultados no valor G '18'.SELECT VARGRAPHIC(EDLEVEL) FROM EMPLOYEE WHERE LASTNAME = 'HAAS' - Exemplo 2: As colunas SALÁRIO e COMM são definidas como DECIMAL com uma precisão de 9 e uma escala de 2. Retorne a renda total para o funcionário Haas usando o caractere decimal de vírgula.
Resultados no valor G '56970,00'.SELECT VARGRAPHIC(SALARY + COMM, ',') FROM EMPLOYEE WHERE LASTNAME = 'HAAS' - Exemplo 3: A instrução a seguir retorna uma string de tipo de dados VARGRAPHIC com o valor 'TRUE'.
values VARGRAPHIC(3=3) - Exemplo 4: A instrução a seguir retorna uma string de tipo de dados VARGRAPHIC com o valor 'FALSE'.
values VARGRAPHIC(3>3)
