O operador CURRENT retorna a data e hora do dia corrente, buscando as informações do relógio do Sistema Operacional, o valor é um DATETIME.
Uso:
Você pode especificar a precisão do retorno, especificando os valores entre INICIO TO FIM. onde inicio e fim deve ser palavras desta lista.
YEAR | MONTH | DAY | HOUR |
---|---|---|---|
MINUTE | SECOND | FRACTION(n) |
Importante o primeiro parâmetro INICIO deve ser maior que o segundo FIM.
CURRENT YEAR TO DAY
O próximo exemplo não é valido, devido ao FIM ser maior que o INICIO.
CURRENT MINUTE TO HOUR
Se a FRACTION for a ultima palavra, você poderá incluir um digito entre parênteses (n) para especificar a escala com range entre 1 até 5 para o valor dos segundos.
Se não for especificado o padrão é de 3 dígitos.
2022-10-04 11:33:28.752
Caso o CURRENT seja executado mais de uma vez, valores idênticos podem ser retornados a cada chamada. A ordem que cada operador CURRENT é executada no statement e não pode ser prevista. Dessa forma não utilize para marcar inicio e fim de arquivos 4GL, ou qualquer ponto de execução.
Você pode utilizar o operador CURRENT junto ao SQL statement.
SELECT prog_title FROM tv_programs WHERE air_date > CURRENT YEAR TO DAY |
---|
Exemplos
MAIN DEFINE l_dttime_char CHAR(30) LET l_dttime_char = CURRENT YEAR TO FRACTION CALL CONOUT("CURRENT YEAR TO FRACTION= "||l_dttime_char) LET l_dttime_char = CURRENT YEAR TO FRACTION(2) CALL CONOUT("CURRENT YEAR TO FRACTION= "||l_dttime_char) LET l_dttime_char = CURRENT YEAR TO FRACTION(5) CALL CONOUT("CURRENT YEAR TO FRACTION= "||l_dttime_char) LET l_dttime_char = CURRENT YEAR TO DAY CALL CONOUT("CURRENT YEAR TO DAY= "||l_dttime_char) LET l_dttime_char = CURRENT DAY TO DAY CALL CONOUT("CURRENT DAY TO DAY= "||l_dttime_char) LET l_dttime_char = CURRENT HOUR TO MINUTE CALL CONOUT("CURRENT HOUR TO MINUTE= "||l_dttime_char) END MAIN