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)
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.