Todos os produtos
Search
Central de documentação

DataWorks:Comparação de valores de parâmetros personalizados

Última atualização: Jun 27, 2026

O DataWorks oferece duas famílias de parâmetros de agendamento para injetar valores dinâmicos de tempo em nomes de partições, nomes de arquivos e consultas SQL: ${...}, com base na data de negócio, e $[...], com base no horário agendado. Este tópico compara os formatos, a precisão e as capacidades de deslocamento para ajudar você a escolha a opção mais adequada.

Importante

Para obter as definições de tempo base e as regras de transformação, consulte Formatos suportados para parâmetros de agendamento.

Visão geral dos formatos de parâmetros

A tabela a seguir apresenta todos os seis formatos de parâmetros integrados. Considere que o horário atual seja November 01, 2025 e que uma tarefa seja executada diariamente às 00:00. O parâmetro é referenciado no código como pt=${datetime}.

Formato do parâmetro

Descrição

Exemplo de atribuição

Valor resolvido

${yyyymmdd}

Data de negócio (T-1), com precisão de dia. Ideal para jobs em lote diários particionados por data — não requer deslocamento manual.

datetime=${yyyymmdd}

datetime=20251031

$[yyyymmddhh24miss]

Horário de acionamento agendado, com precisão de segundo. Recomendado quando for necessária precisão inferior a um dia.

datetime=$[yyyymmddhh24miss]

datetime=20251101000000

$bizdate

Obtém o horário de negócio. Equivalente a ${yyyymmdd}.

datetime=$bizdate

datetime=20251031

$cyctime

Obtém o horário agendado, com precisão de segundo. Equivalente a $[yyyymmddhh24miss].

datetime=$cyctime

datetime=20251101000000

$gmtdate

Obtém o horário atual, com precisão de dia.

datetime=$gmtdate

datetime=20251101

$bizmonth

Mês de negócio. Retorna o mês anterior se o horário de negócio e o horário atual estiverem no mesmo mês; caso contrário, retorna o mês do horário de negócio.

datetime=$bizmonth

datetime=202510 (veja a nota abaixo)

Nota

Exemplo de $bizmonth — se o horário atual for November 01, 2025:

  • Horário de negócio = November 02, 2025 (mesmo mês do horário atual) → datetime=202510

  • Horário de negócio = October 31, 2025 (mês diferente do horário atual) → datetime=202510

Principais diferenças entre ${...} e $[...]

**${...} (data de negócio)**

**$[...] (horário agendado)**

Base de tempo

Data de negócio (T-1)

Horário de acionamento agendado (T)

Precisão de tempo

Dia (ano, mês, dia)

Segundo (ano, mês, dia, hora, minuto, segundo)

Suporte a deslocamento

Anos, meses, semanas, dias

Dias, horas, minutos

Limitações

Não permite expressar horas, minutos ou segundos

Não possui sintaxe direta para deslocamento de ano ou mês ($[yyyy±N], $[mm±N]). Utilize add_months como alternativa.

Equivalente abreviado

${yyyymmdd} = $bizdate

$[yyyymmddhh24miss] = $cyctime

Quando usar cada formato

  • Use ${...} para partições de data no nível de dia em jobs em lote diários. Esse formato reflete automaticamente a data dos dados do dia anterior (T-1) sem necessidade de deslocamento manual.

  • Use $[...] quando precisar de precisão no nível de hora ou minuto, ou ao calcular deslocamentos de mês ou ano (use add_months).

  • Use $bizdate ou $cyctime como forma abreviada quando o formato corresponder exatamente ao necessário.

  • Use $gmtdate sempre que precisar do horário atual com precisão de dia.

Para obter detalhes completos de uso, consulte Formatos suportados para parâmetros de agendamento e Configure e usar parâmetros de agendamento.

Exemplos de uso

Os exemplos a seguir utilizam um nó ODPS SQL. O horário agendado é 10:30:00 on July 20, 2025.

Valor desejado

**${...}**

**$[...]**

Ano: 2025

datetime=${yyyy}pt=2025

datetime=$[yyyy]pt=2025

Ano curto: 25

datetime=${yy}pt=25

datetime=$[yy]pt=25

Ano anterior: 2024

datetime=${yyyy-1}pt=2024

datetime=$[add_months(yyyymmdd,-12)]pt=2024

Mês: 07

datetime=${mm}pt=07

datetime=$[mm]pt=07

Dia: 20

datetime=${dd}pt=20

datetime=$[dd]pt=20

Data um mês antes: 2025-06-20

datetime=${yyyy-mm-dd-29}pt=2025-06-20Não recomendado — considere a variação no número de dias de cada mês. Use $[...] em vez disso.

datetime=$[add_months(yyyymmdd,-1)]pt=2025-06-20

Dia anterior: 2025-07-19

datetime=${yyyy-mm-dd}pt=2025-07-19

datetime=$[yyyy-mm-dd-1]pt=2025-07-19

Mesma data no ano anterior: 2024-07-20

datetime=${yyyy-mm-dd-364}pt=2024-07-20Não recomendado — considere anos bissextos. Use $[...] em vez disso.

datetime=$[add_months(yyyymmdd,-12)]pt=2024-07-20

Apenas horário: 10:30:00

Não suportado

datetime=$[hh24:mi:ss]pt=10:30:00

Data e hora completas: 2025-07-20 10:30:00

Não suportado

Defina dois parâmetros separados por espaço: datetime1=$[yyyy-mm-dd] datetime2=$[hh24:mi:ss]; referência no código: pt=${datetime1} ${datetime2}pt=2025-07-20 10:30:00

Um minuto antes: 2025-07-20 10:29:00

Não suportado

datetime1=$[yyyy-mm-dd] datetime2=$[hh24:mi:ss-1/24/60]pt=2025-07-20 10:29:00

Uma hora antes: 2025-07-20 09:30:00

Não suportado

datetime1=$[yyyy-mm-dd] datetime2=$[hh24:mi:ss-1/24]pt=2025-07-20 09:30:00

Data e hora do dia anterior (sem espaço): 2025071910:30:00

Não suportado

datetime=$[yyyymmddhh24miss-1]pt=2025071910:30:00

Data e hora do dia anterior (com espaço): 20250719 10:30:00

Não suportado

Expressões de parâmetros não aceitam espaços. Defina dois parâmetros: datetime1=$[yyyymmdd-1] datetime2=$[hh24:mi:ss]; referência no código: pt=${datetime1} ${datetime2}pt=20250719 10:30:00

Próximos passos