Anterior Home Page Sumário E-Mail Próximo

Função escalar

Sintaxe

função_escalar : 

       função EXTEND |

       função_CAST |

       função_SUBSTRING |

       função_LENGTH | 

       função_POSITION | 

       função_OVERLAY |

       função_UPPER | 

       função_LOWER | 

       função_TRIM |

       função_ABS | 

       função_MOD

função_EXTEND : EXTEND ( expressão [ ,qualificador_data_hora])

qualificador_data_hora : campo_data_hora TO campo_data_hora

campo_data_hora : YEAR | MONTH | DAY | HOUR | MINUTE | SECOND

função_CAST : CAST( operando_cast  AS tipo_de_dado_alvo )

operando_cast :  expressão | NULL

tipo_de_dado_alvo : tipo_de_dado

função_LENGTH : LENTGH (expressão)

função_SUBSTRING :

        SUBSTRING(expressão, expressão [,expressão]) |

        SUBSTRING(expressão FROM expressão [FOR expressão])

função_POSITION : POSITION(expressão IN expressão)

função_OVERLAY:  OVERLAY(expressão PLACING expressão

                                  FROM expressão [ FOR expressão ] )

função_UPPER: UPPER(expressão)

função_LOWER: LOWER(expressão)

função_TRIM: 

        TRIM( [ [ especificação_trim ] [caracter_trim]  FROM ] expressão)

especificação_trim : LEADING | TRAILING | BOTH

função_ABS : ABS(expressão)

função_MOD : MOD(expressão, expressão)

Regras

A função EXTEND ajusta a precisão do argumento para a precisão indicada pelo qualificador. Esta função só pode ser aplicada a valores de tipo DATETIME e retorna um valor do mesmo tipo e com precisão especificada pelo qualificador. Se este for omitido, é retornado um valor de precisão YEAR TO SECOND.

Se a precisão do argumento da função EXTEND contém campos não incluídos na precisão especificada pelo qualificador_data_hora, então os campos excedentes são truncados. Se a precisão especificada pelo qualificador contém campos à esquerda dos campos do argumento, então campos adicionais são iniciados com valores extraídos da data e hora correntes. O resultado deve constituir uma data correta.

Se a precisão especificada pelo qualificador contém campos à direita dos campos do argumento, então estes campos adicionais são iniciados com o valor 1 para os campos mês e dia e com o valor 0 para os campos hora, minuto e segundo.

A função CAST transforma o tipo do valor de uma expressão. Se a expressão for igual a NULL ou o valor resultante da expressão for nulo então o resultado da função cast é um valor nulo cujo tipo é o tipo especificado pelo tipo_de_dado_alvo. Se o tipo da expressão for numérico exato ou numérico aproximado, o tipo do parâmetro tipo_de_dado_alvo não poderá ser DATETIME e vice-versa. Se a expressão e o tipo_de_dado_alvo forem ambos do tipo CHAR ou VARCHAR e o tamanho de tipo_de_dado_alvo não for igual ao tamanho da cadeia resultante da expressão, o resultado será truncado ou completado com brancos a direita. Na conversão de uma cadeia de caracteres para um tipo numérico ou para um tipo DATETIME, a cadeia deverá representar um número válido ou uma data válida senão será retornado um erro. A conversão de uma data para um tipo DATETIME segue as mesmas regras que a função EXTEND.

A função LENGTH retorna um SMALLINT indicando o tamanho do operando que deve ser uma cadeia. Os caracteres brancos não significativos, ou seja, à direita do último caracter não branco são excluídos no cálculo do tamanho. Se o operando for nulo, o resultado da função também será nulo.

A função SUBSTRING retorna a subcadeia do primeiro argumento que começa no caracter de ordem definida pelo segundo argumento e cujo tamanho é dado pelo terceiro argumento. O primeiro argumento deve ser do tipo cadeia de caracteres e os demais do tipo numérico exato com precisão igual a zero. Se a cadeia é do tipo VARCHAR, o resultado será do mesmo tipo, senão seu tamanho será o especificado pelo terceiro argumento. No caso de um dos argumentos ser nulo, o resultado retornado será nulo. O argumento da função que especifica a posição inicial deve ser maior que zero e menor ou igual ao tamanho da cadeia original. O terceiro argumento, se especificado, deve ser maior ou igual a zero e menor ou igual ao tamanho da cadeia original menos a posição inicial especificada acrescido de um (tamanho da cadeia original a partir da posição inicial). Quando este argumento não é especificado, é considerado um tamanho igual ao tamanho da cadeia a partir da posição inicial.

A função POSITION retorna um SMALLINT indicando a posição da primeira ocorrência da subcadeia correspondente ao primeiro operando na cadeia correspondente ao segundo operando. Zero é retornado se o primeiro operando não for subcadeia. Se o primeiro operando for de tamanho 0, 1 é retornado. Se algum dos operandos for nulo , o resutado será nulo.

A função OVERLAY modifica a cadeia especificada pelo operando 1 substituindo uma determinada subcadeia por uma cadeia chamada cadeia de substituição e definida pelo operando 2. A posição inicial da subcadeia é definida pelo operando 3 e o seu tamanho pelo operando 4. Quando o tamanho da subcadeia não for definido ou igual a zero nada é substituido e a cadeia retornada pela função é a cadeia original na qual foi inserida a cadeia de sustituição na posição determinada.

A função UPPER transforma cada letra minúscula do operando, na letra maiúscula que lhe corresponde.

A função LOWER transforma cada letra maiúscula do operando na letra minúscula que lhe corresponde.

A função TRIM dependendo da especificação_trim elimina caracteres iguais ao caracter_trim a direita ou a esquerda ou dos dois lados do operando expressão que deve ser do tipo cadeia de caracteres. O valor default da especificação_trim é TRAILING e o valor default do caracter_trim é branco.

A função ABS retorna o valor absoluto da expressão que deve ser do tipo numérica.

A função MOD retorna o resto da divisão do primeiro operando pelo segundo operando que devem ser do tipo númericos exatos.

Veja também Expressão e Tipos de dados.

Anterior Home Page Sumário E-Mail Próximo