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)
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);
Saída:
200
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))
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')
Saída:
2015-07-01
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())
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');
Saída:
86400.000000
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)
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');
Saída:
2021-12-30
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)
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');
Saída:
1 000:000:000
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)
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');
Saída:
2026-02-28
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)
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');
Saída:
2021-12-30
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)
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');
Saída:
2025-02-28
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)
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);
Saída:
INTERVAL '4 HOURS,33 MINUTES,33 SECOND'
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())
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');
Saída:
18
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)
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'));
Saída:
2022-12-31 05:09:09.799
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)
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);
Saída:
2
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)
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');
Saída:
2022-12-31 05:09:09.799
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)
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)
Saída:
25122
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)
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);
Saída:
25100
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())
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');
Saída:
8
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)
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'));
Saída:
2025-02-28 05:09:09.799
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)
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')
Saída:
2015-08-18
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)
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');
Saída:
2025-02-28 05:09:09.799