Esta função retorna um valor correspondente a uma data/hora com o primeiro milissegundo do dia contido no argumento time. O formato de saída padrão será o TimestampFormat definido no script.
Syntax:
DayStart(time[, [period_no[, day_start]])
Return data type: dual
Arguments:
Argumentos
Argumento
Descrição
time
A data/hora para avaliar.
period_no
period_no é um inteiro, ou uma expressão que resolve um inteiro, em que o valor 0 indica o dia que contém o time. Valores negativos em period_no indicam dias precedentes e valores positivos indicam dias sucessivos.
day_start
Para especificar dias que não comecem à meia-noite, indique um deslocamento em fração de um dia em day_start. Por exemplo, 0,125 para indicar 3 a.m.
Estes exemplos usam o formato de data DD/MM/YYYY. O formato de data é especificado no comando SET DateFormat na parte superior do seu script de carga de dados. Altere o formato nos exemplos para atender às suas necessidades.
Exemplos de scripts
Exemplo
Resultado
daystart('25/01/2013 16:45:00')
Returna 25/01/2013 00:00:00.
daystart('25/01/2013 16:45:00', -1)
Returna 24/01/2013 00:00:00.
daystart('25/01/2013 16:45:00', 0, 0.5 )
Returna 25/01/2013 12:00:00.
Example:
Adicione o script de exemplo ao seu aplicativo e execute-o. Em seguida, adicione os campos listados na coluna de resultados a uma pasta para ver o resultado.
Este exemplo encontra a data/hora que marca o início do dia depois de cada data da fatura na tabela.
TempTable:
LOAD RecNo() as InvID, * Inline [
InvDate
28/03/2012
10/12/2012
5/2/2013
31/3/2013
19/5/2013
15/9/2013
11/12/2013
2/3/2014
14/5/2014
13/6/2014
7/7/2014
4/8/2014
];
InvoiceData:
LOAD *,
DayStart(InvDate, 1) AS DStart
Resident TempTable;
Drop table TempTable;
A tabela resultante contém as datas originais e uma coluna com o valor de retorno da função daystart(). É possível exibir toda a data/hora ao especificar a formatação no painel de propriedades.