Funções de data e hora
O CLEM inclui uma família de funções para manipular campos com armazenamento de data e hora de variáveis de sequência de caracteres que representam datas e horas.
Os formatos de data e hora usados são específicos para cada fluxo e são especificados nas propriedades do fluxo. As funções de data e hora analisam sequências de caracteres de data e hora de acordo com o formato atualmente selecionado.
Quando você especifica um ano em uma data que usa apenas dois dígitos (ou seja, o século não é especificado), o SPSS Modeler usa o século padrão que é especificado nas propriedades de fluxo.
| Função | Resultado | Descrição |
|---|---|---|
@TODAY |
Sequência | Se você selecionar Rolagem de dias/minutos nas propriedades do fluxo, esta função retorna a data atual como uma sequência de caracteres no formato de data atual. Se você usar um formato de data de dois dígitos e não selecionar Rolagem dias/minutos, esta função retorna $null$ no servidor atual. |
to_time(ITEM) |
Horário | Converte o armazenamento do campo especificado em hora. |
to_date(ITEM) |
Data | Converte o armazenamento do campo especificado em uma data. |
to_timestamp(ITEM) |
Registro de data e hora | Converte o armazenamento do campo especificado em um registro de data e hora. |
to_datetime(ITEM) |
Data/hora | Converte o armazenamento do campo especificado em um valor de data, hora ou registro de data e hora. |
datetime_date(ITEM) |
Data | Retorna o valor de data para um número, uma sequência de caracteres ou um registro de data e hora. Observe que essa é a única função que permite converter um número (em segundos) de volta em uma data. Se ITEM for uma sequência de caracteres, cria uma data analisando uma sequência de caracteres no formato de data atual. O formato de data especificado nas propriedades do fluxo deve estar correto para que esta função seja bem-sucedida. Se ITEM for um número, ele será interpretado como um número de segundos desde a data base (ou época). Frações de um dia são truncadas. Se ITEM for registro de data e hora, a parte de data do registro de data e hora será retornada. Se ITEM for uma data, ele será retornado inalterado. |
date_before(DATE1, DATE2) |
Booleano | Retorna um valor de true se DATE1 representar uma data ou um registro de data e hora anteriores aos representados por DATE2. Caso contrário, essa função retornará um valor 0. |
date_days_difference(DATE1, DATE2) |
Número inteiro | Retorna o tempo, em dias, a partir da data ou do registro de data e hora representados por DATE1 até os representados por DATE2 como um número inteiro. Se DATE2 for anterior a DATE1, essa função retornará um número negativo. |
date_in_days(DATE) |
Número inteiro | Retorna o tempo, em dias, a partir da data de linha de base até a data ou o registro de data e hora representados por DATE como um número inteiro. Se DATE for anterior à data da linha de base, essa função retornará um número negativo. Deve-se incluir uma data válida para o cálculo funcionar de maneira adequada. Por exemplo, você não deve especificar 29 de fevereiro de 2001 como a data. Porque 2001 não é um ano bissexto, esta data não existe. |
date_in_months(DATE) |
Real | Retorna o tempo, em meses, a partir da data de linha de base até a data ou o registro de data e hora representados por DATE como um número real. Essa é uma figura aproximada com base em um mês de 30,4375 dias. Se DATE for anterior à data da linha de base, essa função retornará um número negativo. Deve-se incluir uma data válida para o cálculo funcionar de maneira adequada. Por exemplo, você não deve especificar 29 de fevereiro de 2001 como a data. Porque 2001 não é um ano bissexto, esta data não existe. |
date_in_weeks(DATE) |
Real | Retorna o tempo, em semanas, a partir da data de linha de base até a data ou o registro de data e hora representados por DATE como um número real. Isso é baseado em uma semana de 7 dias. Se DATE for anterior à data da linha de base, essa função retornará um número negativo. Deve-se incluir uma data válida para o cálculo funcionar de maneira adequada. Por exemplo, você não deve especificar 29 de fevereiro de 2001 como a data. Porque 2001 não é um ano bissexto, esta data não existe. |
date_in_years(DATE) |
Real | Retorna o tempo, em anos, a partir da data de linha de base até a data ou o registro de data e hora representados por DATE como um número real. Essa é uma figura aproximada com base em um ano de 365,25 dias. Se DATE for anterior à data da linha de base, essa função retornará um número negativo. Deve-se incluir uma data válida para o cálculo funcionar de maneira adequada. Por exemplo, você não deve especificar 29 de fevereiro de 2001 como a data. Porque 2001 não é um ano bissexto, esta data não existe. |
date_months_difference (DATE1, DATE2) |
Real | Retorna o tempo, em meses, a partir da data ou do registro de data e hora representados por DATE1 até os representados por DATE2 como um número real. Essa é uma figura aproximada com base em um mês de 30,4375 dias. Se DATE2 for anterior a DATE1, essa função retornará um número negativo. |
datetime_date(YEAR, MONTH, DAY) |
Data | Cria um valor de data para YEAR, MONTH e DAY fornecidos. Os argumentos devem ser números inteiros. |
datetime_day(DATE) |
Número inteiro | Retorna o dia do mês de um DATE ou registro de data e hora fornecidos. O resultado é um número inteiro no intervalo de 1 a 31. |
datetime_day_name(DAY) |
Sequência | Retorna o nome completo do DAY fornecido. O argumento deve ser um número inteiro no intervalo de 1 (domingo) a 7 (sábado). |
datetime_hour(TIME) |
Número inteiro | Retorna a hora de um TIME ou registro de data e hora. O resultado é um número inteiro no intervalo de 0 a 23. |
datetime_in_seconds(TIME) |
Real | Retorna a parte de segundos armazenada em TIME. |
datetime_in_seconds(DATE), datetime_in_seconds(DATETIME) |
Real | Retorna o número acumulado, convertido em segundos, da diferença entre DATE ou DATETIME atuais e a data de linha de base (1900-01-01). |
datetime_minute(TIME) |
Número inteiro | Retorna o minuto de um TIME ou registro de data e hora. O resultado é um número inteiro no intervalo de 0 a 59. |
datetime_month(DATE) |
Número inteiro | Retorna o mês de um DATE ou registro de data e hora. O resultado é um número inteiro no intervalo de 1 a 12. |
datetime_month_name (MONTH) |
Sequência | Retorna o nome completo do MONTH fornecido. O argumento deve ser um número inteiro no intervalo de 1 a 12. |
datetime_now |
Registro de data e hora | Retorna a hora atual como um registro de data e hora. |
datetime_second(TIME) |
Número inteiro | Retorna o segundo de um TIME ou registro de data e hora. O resultado é um número inteiro no intervalo de 0 a 59. |
datetime_day_short_name (DAY) |
Sequência | Retorna o nome abreviado do DAY fornecido. O argumento deve ser um número inteiro no intervalo de 1 (domingo) a 7 (sábado). |
datetime_month_short_name (MONTH) |
Sequência | Retorna o nome abreviado do MONTH fornecido. O argumento deve ser um número inteiro no intervalo de 1 a 12. |
datetime_time(HOUR, MINUTE, SECOND) |
Horário | Retorna o valor do HOUR, MINUTE e SECOND especificados. Os argumentos devem ser números inteiros. |
datetime_time(ITEM) |
Horário | Retorna o valor de hora do ITEM fornecido. |
datetime_timestamp(YEAR, MONTH, DAY,
HOUR, MINUTE, SECOND) |
Registro de data e hora | Retorna o valor de registro de data e hora para o YEAR, MONTH, DAY, HOUR, MINUTE e SECOND fornecidos. |
datetime_timestamp(DATE, TIME) |
Registro de data e hora | Retorna o valor de registro de data e hora para o DATE e TIME fornecidos. |
datetime_timestamp (NUMBER) |
Registro de data e hora | Retorna o valor de registro de data e hora do número de segundos fornecido. |
datetime_weekday(DATE) |
Número inteiro | Retorna o dia da semana de DATE ou registro de data e hora fornecidos. |
datetime_year(DATE) |
Número inteiro | Retorna o ano de um DATE ou registro de data e hora fornecidos. O resultado é um número inteiro como 2021. |
date_weeks_difference (DATE1,
DATE2) |
Real | Retorna o tempo em semanas da data ou registro de data e hora representados por DATE1 até os representados por DATE2 como um número real. Isso é baseado em uma semana de 7 dias. Se DATE2 for anterior a DATE1, essa função retornará um número negativo. |
date_years_difference (DATE1, DATE2) |
Real | Retorna o tempo, em anos, a partir da data ou do registro de data e hora representados por DATE1 até os representados por DATE2 como um número real. Essa é uma figura aproximada com base em um ano de 365,25 dias. Se DATE2 for anterior a DATE1, essa função retornará um número negativo. |
date_from_ywd(YEAR, WEEK, DAY) |
Número inteiro | Converte o ano, a semana em ano e o dia em semana, para uma data usando o padrão ISO 8601. |
date_iso_day(DATE) |
Número inteiro | Returna o dia da semana a partir da data usando o padrão ISO 8601. |
date_iso_week(DATE) |
Número inteiro | Returna a semana do ano a partir da data usando o padrão ISO 8601. |
date_iso_year(DATE) |
Número inteiro | Returna o ano da data usando o padrão ISO 8601. |
time_before(TIME1, TIME2) |
Booleano | Retorna um valor de true se TIME1 representar uma hora ou registro de data e hora anteriores aos representados por TIME2. Caso contrário, essa função retornará um valor 0. |
time_hours_difference (TIME1, TIME2) |
Real | Retorna a diferença de tempo em horas entre as horas ou registros de data e hora representados por TIME1 e TIME2 como um número real. Se você selecionar Rolagem de dias/minutos nas propriedades de fluxo, um valor mais alto de TIME1 será considerado como referência ao dia anterior. Se você não selecionar a opção de rolagem, um valor maior de TIME1 faz com que o valor retornado seja negativo. |
time_in_hours(TIME) |
Real | Retorna o tempo em horas representado por TIME como um número real. Por exemplo, sob o formato de hora HHMM, a expressão time_in_hours('0130') é avaliada para 1,5. TIME pode representar uma hora ou registro de data e hora. |
time_in_mins(TIME) |
Real | Retorna o tempo em minutos representado por TIME como um número real. TIME pode representar uma hora ou registro de data e hora. |
time_in_secs(TIME) |
Número inteiro | Retorna o tempo em segundos representado por TIME como um número inteiro. TIME pode representar uma hora ou registro de data e hora. |
time_mins_difference(TIME1, TIME2) |
Real | Retorna a diferença de tempo em minutos entre as horas ou registros de data e hora representados por TIME1 e TIME2 como um número real. Se você selecionar Rolagem de dias/minutos nas propriedades de fluxo, um valor mais alto de TIME1 será considerado para se referir ao dia anterior (ou à hora anterior, se apenas minutos e segundos forem especificados no formato atual). Se você não selecionar a opção de rolagem, um valor mais alto de TIME1 fará com que o valor retornado seja negativo. |
time_secs_difference(TIME1, TIME2) |
Número inteiro | Retorna a diferença de tempo em segundos entre as horas ou registros de data e hora representados por TIME1 e TIME2 como um número inteiro. Se você selecionar Rolagem de dias/minutos nas propriedades de fluxo, um valor mais alto de TIME1 será considerado para se referir ao dia anterior (ou à hora anterior, se apenas minutos e segundos forem especificados no formato atual). Se você não selecionar a opção de rolagem, um valor maior de TIME1 faz com que o valor retornado seja negativo. |