Tipos de dados data-types

Tecnicamente, uma constante sempre contém um tipo de dados. Na expressão literal, especificamos apenas o valor. O tipo de dados pode ser inferido a partir do valor (por exemplo, string, inteiro, decimal etc.). Para casos específicos, como data e hora, usamos funções dedicadas para a representação.

As seções abaixo fornecem informações sobre as diferentes expressões de tipos de dados e como elas são representadas.

sequência de caracteres string

Descrição

Sequência comum de caracteres. Ele não tem um tamanho específico, exceto o implícito que vem do ambiente, como a quantidade de memória disponível.

Formato JSON: string

Formato de serialização: UTF-8

Representação literal

"<value>"
'<value>'

Exemplo

"hello world"
'hello world'

inteiro integer

Descrição

Valor inteiro de -2^63 a 2^63-1.

Formato JSON: número

Representação literal

<integer value>

Exemplo

42

decimal decimal

Descrição

Número decimal. Ele representa um valor flutuante:

  • maior valor finito positivo do tipo double, (2-2-52)x21023
  • menor valor normal positivo do tipo double, 2-1022
  • menor valor positivo diferente de zero do tipo double, 2 p-1074

Formato JSON: número

Formato de serialização: usando ‘.’ como separador decimal.

Representação literal

<integer value>.<integer value>

Exemplo

3.14

booleano boolean

Descrição

Valor booleano gravado em minúsculas: verdadeiro ou falso

Formato JSON: booleano

Representação literal

true
false

Exemplo

true

dateOnly date-only

Descrição

Representa uma data somente sem um fuso horário, visualizado como um dia-mês-ano.

É uma descrição da data, como usada para aniversários.

Formato JSON: cadeia de caracteres.

O formato é: AAAA-MM-DD (ISO-8601), por exemplo: “2021-03-11”.

Ele pode ser encapsulado em uma função toDateOnly.

Ele usa DateTimeFormatter ISO_LOCAL_DATE_TIME para desserializar e serializar o valor. Saiba mais

Representação literal

date("<dateOnly in ISO-8601 format>")

Exemplo

date("2021-02-19")

dateTimeOnly date-time-only

Descrição

Representa uma data e hora sem um fuso horário, visualizado como ano-mês-dia-hora-minuto-segundo-milissegundo.

Formato JSON: cadeia de caracteres.

Ele não armazena ou representa um fuso horário. Em vez disso, é uma descrição da data, como usada para aniversários, combinada com a hora local, como visto em um relógio de parede.

Ele não pode representar um instante na linha do tempo sem informações adicionais, como um deslocamento ou fuso horário.

Ele pode ser encapsulado em uma função toDateTimeOnly.

Formato de serialização: formato de data-hora de deslocamento estendido ISO-8601.

Ele usa DateTimeFormatter ISO_LOCAL_DATE_TIME para desserializar e serializar o valor. Saiba mais{_blank}.

Representação literal

date("<dateTimeOnly in ISO-8601 format>")

Exemplos

date("2024-02-19T00.00.000")
date("2024-02-19T00.00")

dateTime date-time

Descrição

Constante de data e hora que também considera o fuso horário. Ele representa uma data e hora com um deslocamento de UTC.

Ele pode ser visto como um instante de tempo com as informações adicionais do deslocamento. É uma forma de representar um “momento” específico em um determinado lugar do mundo.

Formato JSON: cadeia de caracteres.

Ele pode ser encapsulado em uma função toDateTime.

Formato de serialização: formato de data-hora de deslocamento estendido ISO-8601.

Ele usa DateTimeFormatter ISO_OFFSET_DATE_TIME para desserializar e serializar o valor. Saiba mais{_blank}.

Você também pode passar um número inteiro passando um valor de época. Leia mais{_blank}.

O fuso horário pode ser especificado por um deslocamento ou um código de fuso horário (por exemplo: Europa/Paris, Z - significando UTC).

Representação literal

toDateTime("<dateTime in ISO-8601 format>")
date("<dateTime in ISO-8601 format>")
toDateTime(<integer value of an epoch in milliseconds>)

Exemplos

date("2024-02-19T00.00.000Z")
toDateTime("1977-04-22T06:00:00Z")
toDateTime("2023-12-03T15:15:30Z")
toDateTime("2023-12-03T15:15:30.123Z")
toDateTime("2023-12-03T15:15:30.123+02:00")
toDateTime("2023-12-03T15:15:30.123-00:20")
toDateTime(1560762190189)

duração duration

Descrição

Ela representa uma quantidade de tempo baseada no tempo, como “34,5 segundos”. Ele modela uma quantidade ou quantidade de tempo em termos de milissegundos.

As unidades temporais suportadas são: milissegundos, segundos, minutos, horas, dias onde um dia equivale a 24 horas. Não há suporte para anos e meses, pois eles não são uma quantidade fixa de tempo.

Formato JSON: cadeia de caracteres.

Ele deve ser encapsulado em uma função toDuration.

Formato de serialização: para desserializar uma ID de fuso horário, ele usa a função java java.time.

Duration.parse: os formatos aceitos são baseados no formato de duração ISO-8601 PnDTnHnMn.nS com dias considerados exatamente 24 horas. Saiba mais{_blank}.

Representação literal

toDuration("<duration in ISO-8601 format>")
toDuration(<duration in milliseconds>)

Exemplo

toDuration("PT5S") -- parses as 5 seconds
toDuration(500) -- parses as 500ms
toDuration("PT20.345S") -- parses as "20.345 seconds"
toDuration("PT15M") -- parses as "15 minutes" (where a minute is 60 seconds)
toDuration("PT10H")  -- parses as "10 hours" (where an hour is 3600 seconds)
toDuration("P2D") -- parses as "2 days" (where a day is 24 hours or 86400 seconds)
toDuration("P2DT3H4M") -- parses as "2 days, 3 hours and 4 minutes"
toDuration("P-6H3M") -- parses as "-6 hours and +3 minutes"
toDuration("-P6H3M") -- parses as "-6 hours and -3 minutes"
toDuration("-P-6H+3M") -- parses as "+6 hours and -3 minutes"

list list

Descrição

Lista separada por vírgulas de expressões usando colchetes como delimitadores.

Não há suporte para polimorfismo, portanto, todas as expressões contidas na lista devem ter o mesmo tipo.

Representação literal

[<expression>, <expression>, ... ]

Exemplo

["value1","value2"]
[3,5]
[toDuration(500),toDuration(800)]
AI Knowledge Reference

This section contains structured knowledge intended to support interpretation, retrieval, and question answering related to this topic.

For complete understanding, this information should be combined with the documentation on this page. Neither source is intended to stand alone; the page describes the feature, while this section provides additional context that helps disambiguate terminology, intent, applicability, and constraints.

  • TL;DR: This page describes every data type supported in the Journey advanced expression editor — string, integer, decimal, boolean, dateOnly, dateTimeOnly, dateTime, duration, and list — with their JSON formats, serialization rules, and literal representation syntax.

Intents:

  • Identify the correct literal syntax for each data type when writing journey expressions
  • Understand the difference between dateOnly, dateTimeOnly, and dateTime types and when to use each
  • Represent a duration value using ISO-8601 format or milliseconds with the toDuration() function
  • Construct a list expression with square bracket syntax for use in collection operations
  • Use conversion functions (toDateTime, toDateTimeOnly, toDuration, toDateOnly) to create typed constants

Glossary:

  • dateOnly: A date without time or time zone, formatted as YYYY-MM-DD; suitable for birthdays or calendar dates (product-specific)
  • dateTimeOnly: A date and time without time zone information; cannot represent a specific instant without an offset (product-specific)
  • dateTime: A date-time constant that includes a UTC offset, representing a specific instant; can also be created from an epoch integer (product-specific)
  • duration: A time-based amount modelled in milliseconds; uses ISO-8601 PnDTnHnMn.nS format; years and months are not supported (product-specific)
  • list: A comma-separated collection of expressions of the same type, delimited by square brackets (product-specific)

Guardrails:

  • Duration supports milliseconds, seconds, minutes, hours, and days only — years and months are not supported as they are not fixed amounts of time
  • A duration value must be wrapped in toDuration() — it cannot be expressed as a bare literal
  • All expressions in a list must have the same type — polymorphism is not supported
  • dateTimeOnly cannot represent an instant in time without an additional offset or time zone

Terminology:

  • Canonical name: Data Types — Acronym: none — variants: expression data types, journey data types
  • Synonyms: “dateTime” = “date-time with timezone”; “dateTimeOnly” = “local date-time”
  • Do not confuse: dateOnly (no time) ≠ dateTimeOnly (date + time, no timezone) ≠ dateTime (date + time + timezone/offset)

FAQ:

  • Q: What is the difference between dateTimeOnly and dateTime?dateTimeOnly has no time zone or offset and cannot represent a precise instant; dateTime includes a UTC offset and represents a specific moment in time.
  • Q: How do I express a duration of 2 days and 3 hours? — Use toDuration("P2DT3H").
  • Q: Can I mix integers and strings in a list expression? — No; all expressions in a list must be the same type.
  • Q: How do I create a dateTime from an epoch timestamp in milliseconds? — Use toDateTime(<epoch in milliseconds>), for example toDateTime(1560762190189).
  • Q: Is true or True the correct boolean literal? — Use lowercase true or false; uppercase variants are not valid.
recommendation-more-help
journey-optimizer-help