SnowConvert: Referências de funções - Compartilhadas

INTERVAL_MULTIPLY_UDF (VARCHAR, VARCHAR, INTEGER)

Definição

Essa função definida pelo usuário (UDF) é usada para multiplicar um intervalo de tempo por um valor de “N” vezes.

INTERVAL_MULTIPLY_UDF
(INPUT_PART VARCHAR(30), INPUT_VALUE VARCHAR(), INPUT_MULT INTEGER)
Copy

Parâmetros

INPUT_PART VARCHAR

O formato da operação. Por exemplo: DAY, HOURTOSECOND,``YEARTOMONTH.

INPUT_VALUE VARCHAR

O intervalo de tempo a ser multiplicado.

INPUT_MULT INTEGER

O tempo para multiplicar o intervalo de tempo.

Retornos

Retorna um varchar com o resultado da multiplicação.

Exemplo de uso

Entrada:

SELECT INTERVAL_MULTIPLY_UDF('DAY', '2', 100);
Copy

Saída:

200
Copy

TRUNC_UDF (TIMESTAMP_LTZ, VARCHAR)

Definição

Essa função definida pelo usuário (UDF) reproduz a funcionalidade do Teradata e do Oracle TRUNC(Date) quando o parâmetro de formato é especificado.

TRUNC_UDF(DATE_TO_TRUNC TIMESTAMP_LTZ, DATE_FMT VARCHAR(5))
Copy

Parâmetros

DATE_TO_TRUNC TIMESTAMP_LTZ

Um valor timestamp_ltz a ser truncado, que deve ser uma data, um carimbo de data/hora ou um carimbo de data/hora com fuso horário.

DATE_FMT VARCHAR

Um valor varchar que deve ser um dos formatos de data compatíveis com a função trunc.

Retornos

Retorna uma data truncada usando o formato especificado.

Exemplo de uso

Entrada:

SELECT TRUNC_UDF(TIMESTAMP '2015-08-18 12:30:00', 'Q')
Copy

Saída:

2015-07-01
Copy

INTERVAL_TO_SECONDS_UDF (VARCHAR, VARCHAR)

Definição

Essa função definida pelo usuário (UDF) é usada para determinar a quantidade de segundos de um intervalo que também está correlacionado ao tipo de tempo processado. Essa é uma função auxiliar.

INTERVAL_TO_SECONDS_UDF
(INPUT_PART VARCHAR(30), INPUT_VALUE VARCHAR())
Copy

Parâmetros

INPUT_PART VARCHAR

O tipo relacionado do segundo parâmetro. Por exemplo DAY, DAYTOHOUR, HOUR, MINUTE.

INPUT_VALUE VARCHAR

O valor a ser convertido em segundos.

Retornos

Retorna um tipo de valor decimal com o número de segundos.

Exemplo de uso

Entrada:

SELECT INTERVAL_TO_SECONDS_UDF('DAY', '1');
Copy

Saída:

86400.000000
Copy

DATEDIFF_UDF (DATE, STRING)

Definição

Essa função definida pelo usuário (UDF) é usada para gerar a diferença entre um valor de intervalo e uma data.

DATEDIFF_UDF(D DATE, INTERVAL_VALUE STRING)
Copy

Parâmetros

D DATE

A data a ser usada para processar a diferença com o intervalo.

INTERVAL_VALUE STRING

O valor do intervalo que será usado para criar a diferença.

Retornos

Retorna uma data com o valor resultante da subtração do tempo.

Exemplo de uso

Entrada:

SELECT DATEDIFF_UDF('2024-01-30', 'INTERVAL ''2-1'' YEAR(2) TO MONTH');
Copy

Saída:

2021-12-30
Copy

SECONDS_TO_INTERVAL_UDF (VARCHAR, NUMBER)

Definição

Essa função definida pelo usuário (UDF) é usada para transformar segundos em intervalos. Essa é uma função auxiliar.

SECONDS_TO_INTERVAL_UDF
(INPUT_PART VARCHAR(30), INPUT_VALUE NUMBER)
Copy

Parâmetros

INPUT_PART VARCHAR

O tipo relacionado do segundo parâmetro. Por exemplo DAY, DAYTOHOUR, HOUR, MINUTE, MINUTETOSECOND.

INPUT_VALUE VARCHAR

Os segundos a serem convertidos em intervalos.

Retornos

Retornos

Exemplo de uso

Entrada:

SELECT SECONDS_TO_INTERVAL_UDF('DAY TO SECOND', '86400');
Copy

Saída:

1 000:000:000
Copy

DATEADD_UDF (STRING, DATE)

Definição

Essa função definida pelo usuário (UDF) é usada para adicionar uma data com um intervalo de tempo.

DATEADD_UDF(INTERVAL_VALUE STRING,D DATE)
Copy

Parâmetros

INTERVAL_VALUE STRING

O intervalo de tempo a ser adicionado.

D DATE

A data a ser adicionada com o intervalo de tempo.

Retornos

Retorna uma data com a adição do intervalo de tempo e data.

Exemplo de uso

Entrada:

SELECT DATEADD_UDF('INTERVAL ''2-1'' YEAR(2) TO MONTH', '2024-01-30');
Copy

Saída:

2026-02-28
Copy

DATEDIFF_UDF (STRING, DATE)

Definição

Essa função definida pelo usuário (UDF) é usada para gerar a diferença entre um valor de intervalo e uma data.

DATEDIFF_UDF(INTERVAL_VALUE STRING,D DATE)
Copy

Parâmetros

INTERVAL_VALUE STRING

O valor do intervalo que será usado para criar a diferença.

D DATE

A data a ser usada para processar a diferença com o intervalo.

Retornos

Retorna uma data com o valor resultante da subtração do tempo.

Exemplo de uso

Entrada:

SELECT DATEDIFF_UDF('INTERVAL ''2-1'' YEAR(2) TO MONTH', '2024-01-30');
Copy

Saída:

2021-12-30
Copy

DATEADD_UDF (DATE, STRING)

Definição

Essa função definida pelo usuário (UDF) é usada para adicionar uma data com um intervalo de tempo.

DATEADD_UDF(D DATE, INTERVAL_VALUE STRING)
Copy

Parâmetros

D DATE

A data a ser adicionada com o intervalo de tempo.

INTERVAL_VALUE STRING

O intervalo de tempo a ser adicionado.

Retornos

Retorna uma data com a adição do intervalo de tempo e data.

Exemplo de uso

Entrada:

SELECT DATEADD_UDF('2024-01-30', 'INTERVAL ''1-1'' YEAR(2) TO MONTH');
Copy

Saída:

2025-02-28
Copy

TO_INTERVAL_UDF (TIME)

Definição

Essa função definida pelo usuário (UDF) é usada para gerar um intervalo de tempo separado da hora atual.

TO_INTERVAL_UDF(D2 TIME)
Copy

Parâmetros

D2 TIME

O tempo de entrada a ser convertido em um intervalo separado.

Retornos

Retorna uma cadeia de caracteres com as informações do tempo de entrada separadas.

Exemplo de uso

Entrada:

SELECT TO_INTERVAL_UDF(CURRENT_TIME);
Copy

Saída:

INTERVAL '4 HOURS,33 MINUTES,33 SECOND'
Copy

INTERVAL_TO_MONTHS_UDF (VARCHAR)

Definição

Essa função definida pelo usuário (UDF) é usada para gerar um número inteiro com a quantidade de um mês a partir de um intervalo. Essa é uma função auxiliar.

INTERVAL_TO_MONTHS_UDF
(INPUT_VALUE VARCHAR())
Copy

Parâmetros

INPUT_VALUE VARCHAR

O valor do intervalo a ser transformado em meses.

Retornos

Retorna um número inteiro com as informações processadas sobre os meses.

Exemplo de uso

Entrada:

SELECT PUBLIC.INTERVAL_TO_MONTHS_UDF('1-6');
Copy

Saída:

18
Copy

DATEDIFF_UDF (STRING, TIMESTAMP)

Definição

Essa função definida pelo usuário (UDF) é usada para subtrair um intervalo de tempo com um carimbo de data/hora.

DATEADD_UDF(INTERVAL_VALUE STRING,D TIMESTAMP)
Copy

Parâmetros

INTERVAL_VALUE STRING

O intervalo de tempo a ser subtraído.

D TIMESTAMP

O registro de data e hora a ser subtraído com o intervalo de tempo.

Retornos

Retorna uma data com a subtração do intervalo de tempo e da data.

Exemplo de uso

Entrada:

SELECT PUBLIC.DATEDIFF_UDF('INTERVAL ''1-1'' YEAR(2) TO MONTH', TO_TIMESTAMP('2024-01-31 05:09:09.799 -0800'));
Copy

Saída:

2022-12-31 05:09:09.799
Copy

MONTHS_TO_INTERVAL_UDF (VARCHAR, NUMBER)

Definição

Essa função definida pelo usuário (UDF) é usada para transformar valores mensais em intervalos. Essa é uma função auxiliar.

MONTHS_TO_INTERVAL_UDF
(INPUT_PART VARCHAR(30), INPUT_VALUE NUMBER)
Copy

Parâmetros

INPUT_PART VARCHAR

O tipo relacionado do segundo parâmetro. Por exemplo YEARTOMONTH, YEAR, MONTH.

INPUT_VALUE VARCHAR

O mês a ser convertido em intervalos.

Retornos

Retorna um varchar com o valor de entrada transformado em um intervalo.

Exemplo de uso

Entrada:

SELECT MONTHS_TO_INTERVAL_UDF('YEAR TO MONTH', 2);
Copy

Saída:

2
Copy

DATEDIFF_UDF (TIMESTAMP, STRING)

Definição

Essa função definida pelo usuário (UDF) é usada para subtrair um carimbo de data/hora com um intervalo de tempo.

DATEDIFF_UDF(D TIMESTAMP, INTERVAL_VALUE STRING)
Copy

Parâmetros

D TIMESTAMP

O carimbo de data/hora que será subtraído do intervalo de tempo.

INTERVAL_VALUE STRING

O intervalo de tempo a ser subtraído.

Retornos

Retorna uma data com a subtração do intervalo de tempo e da data.

Exemplo de uso

Entrada:

SELECT PUBLIC.DATEDIFF_UDF(TO_TIMESTAMP('2024-01-31 05:09:09.799 -0800'), 'INTERVAL ''1-1'' YEAR(2) TO MONTH');
Copy

Saída:

2022-12-31 05:09:09.799
Copy

TRUNC_UDF (NUMBER)

Definição

Essa função definida pelo usuário (UDF) reproduz a funcionalidade do Teradata e do Oracle TRUNC(Numeric) quando uma escala não é especificada.

TRUNC_UDF(INPUT NUMBER)
Copy

Parâmetros

INPUT NUMBER

O número a ser truncado.

Retornos

Retorna um int como a entrada truncada com zero casas decimais.

Exemplo de uso

Entrada:

SELECT TRUNC_UDF(25122.3368)
Copy

Saída:

25122
Copy

TRUNC_UDF (NUMBER, NUMBER)

Definição

Essa função definida pelo usuário (UDF) reproduz a funcionalidade do Teradata e do Oracle TRUNC(Numeric) quando uma escala é especificada.

TRUNC_UDF(INPUT NUMBER, SCALE NUMBER)
Copy

Parâmetros

INPUT NUMBER

O número a ser truncado.

SCALE NUMBER

A quantidade de casas a serem truncadas (entre -38 e 38).

Retornos

Retorna um int como a entrada truncada em locais de escala.

Exemplo de uso

Entrada:

SELECT TRUNC_UDF(25122.3368, -2);
Copy

Saída:

25100
Copy

INTERVAL_ADD_UDF (VARCHAR, VARCHAR, VARCHAR, VARCHAR, CHAR, VARCHAR)

Definição

Essa função definida pelo usuário (UDF) é usada para adicionar ou subtrair intervalos com um tipo de tempo específico.

INTERVAL_ADD_UDF
(INPUT_VALUE1 VARCHAR(), INPUT_PART1 VARCHAR(30), INPUT_VALUE2 VARCHAR(), INPUT_PART2 VARCHAR(30), OP CHAR, OUTPUT_PART VARCHAR())
Copy

Parâmetros

INPUT_VALUE1 VARCHAR

A quantidade referenciada a um tipo de tempo.

INPUT_PART1 VARCHAR

O tipo de hora do _ INPUT_VALUE1_. Por exemplo: HOUR.

INPUT_VALUE2 VARCHAR

A segunda quantidade referenciada a um tipo de tempo.

INPUT_PART2 VARCHAR

O tipo de tempo do _ INPUT_VALUE2_. Por exemplo: HOUR.

OP CHAR

A operação. Pode ser um “+” ou um “-“.

OUTPUT_PART VARCHAR

O tipo de tempo da operação de saída.

Retornos

Retorna um varchar com o resultado da operação e dos valores indicados.

Exemplo de uso

Entrada:

SELECT INTERVAL_ADD_UDF('7', 'HOUR', '1', 'HOUR', '+', 'HOUR');
Copy

Saída:

8
Copy

DATEADD_UDF (STRING, TIMESTAMP)

Definição

Essa função definida pelo usuário (UDF) é usada para adicionar um carimbo de data/hora com um intervalo de tempo.

DATEADD_UDF(INTERVAL_VALUE STRING,D TIMESTAMP)
Copy

Parâmetros

INTERVAL_VALUE STRING

O intervalo de tempo a ser adicionado.

D TIMESTAMP

O carimbo de data/hora a ser adicionado ao intervalo de tempo.

Retornos

Retorna uma data com a adição do intervalo de tempo e data.

Exemplo de uso

Entrada:

SELECT PUBLIC.DATEADD_UDF('INTERVAL ''1-1'' YEAR(2) TO MONTH', TO_TIMESTAMP('2024-01-31 05:09:09.799 -0800'));
Copy

Saída:

2025-02-28 05:09:09.799
Copy

TRUNC_UDF (TIMESTAMP_LTZ)

Definição

Essa função definida pelo usuário (UDF) reproduz a funcionalidade do Teradata e do Oracle TRUNC(Date) quando o parâmetro de formato não é especificado.

TRUNC_UDF(INPUT TIMESTAMP_LTZ)
Copy

Parâmetros

DATE_TO_TRUNC TIMESTAMP_LTZ

Um valor timestamp_ltz a ser truncado, que deve ser uma data, um carimbo de data/hora ou um carimbo de data/hora com fuso horário.

Retornos

Retorna uma parte de data de DATE_TO_TRUNC.

Exemplo de uso

Entrada:

SELECT TRUNC_UDF(TIMESTAMP '2015-08-18 12:30:00')
Copy

Saída:

2015-08-18
Copy

DATEADD_UDF (TIMESTAMP, STRING)

Definição

Essa função definida pelo usuário (UDF) é usada para adicionar um carimbo de data/hora com um intervalo de tempo.

DATEADD_UDF(D TIMESTAMP, INTERVAL_VALUE STRING)
Copy

Parâmetros

D TIMESTAMP

O carimbo de data/hora a ser adicionado ao intervalo de tempo.

INTERVAL_VALUE STRING

O intervalo de tempo a ser adicionado.

Retornos

Retorna uma data com a adição do intervalo de tempo e data.

Exemplo de uso

Entrada:

SELECT PUBLIC.DATEADD_UDF(TO_TIMESTAMP('2024-01-31 05:09:09.799 -0800'), 'INTERVAL ''1-1'' YEAR(2) TO MONTH');
Copy

Saída:

2025-02-28 05:09:09.799
Copy