Strings DATEFORMAT e TIMEFORMAT
O comando COPY usa as opções DATEFORMAT e TIMEFORMAT para analisar valores de data e hora nos dados de origem. DATEFORMAT e TIMEFORMAT são strings formatadas que devem corresponder ao formato dos valores de data e hora dos dados de origem. Por exemplo, um comando COPY que carrega dados de origem com o valor da data Jan-01-1999
deve incluir a seguinte string DATEFORMAT:
COPY ... DATEFORMAT AS 'MON-DD-YYYY'
Para obter mais informações sobre como gerenciar conversões de dados COPY, consulte Parâmetros de conversão de dados.
As strings DATEFORMAT e TIMEFORMAT podem conter separadores de data e hora (como “-
”, “/
” ou “:
”), bem como os formatos datepart e timepart na tabela a seguir.
nota
Se não for possível corresponder os formatos dos valores de data e hora com os dateparts e timeparts a seguir, ou se você tiver valores de data e hora com formatos diferentes entre si, use o argumento 'auto'
com o parâmetro DATEFORMAT ou TIMEFORMAT. O argumento 'auto'
reconhece diversos formatos incompatíveis ao usar uma string DATEFORMAT e TIMEFORMAT. Para ter mais informações, consulte Usar o reconhecimento automático com DATEFORMAT e TIMEFORMAT.
Datepart ou timepart | Significado |
---|---|
YY | Ano sem século |
YYYY | Ano com século |
MM | Mês como um número |
MON | Mês como um nome (nome abreviado ou completo) |
DD | Dia do mês como um número |
HH ou HH24 | Hora (relógio de 24 horas) notaNas strings de formato DATETIME das funções SQL, HH é o mesmo que HH12. No entanto, nas strings DATEFORMAT e TIMEFORMAT de COPY, HH é o mesmo que HH24. |
HH12 | Hora (relógio de 12 horas) |
MI | Minutos |
SS | Segundos |
AM ou PM | Indicador de meridiano (para relógio de 12 horas) |
O formato de data padrão é YYYY-MM-DD. O formato de carimbo de data/hora padrão sem fuso horário (TIMESTAMP) é YYYY-MM-DD HH:MI:SS. O formato de carimbo de data/hora padrão com formato de fuso horário (TIMESTAMPTZ) é YYYY-MM-DD HH:MI:SSOF, em que OF é o deslocamento de UTC (por exemplo, -8:00). Você não pode incluir um especificador de fuso horário (TZ, tz ou OF) no timeformat_string. O campo de segundos (SS) também dá suporte a segundos fracionários até um nível de microssegundo. Para carregar dados TIMESTAMPTZ em um formato diferente do formato padrão, especifique 'auto'.
A seguir estão alguns exemplos de datas e horas que você pode encontrar em seus dados de origem e as strings DATEFORMAT ou TIMEFORMAT correspondentes a eles.
Exemplo de data e hora dos dados de origem | Sintaxe de DATEFORMAT ou TIMEFORMAT |
---|---|
03/31/2003 | DATEFORMAT AS 'MM/DD/YYYY' |
31 de março de 2003 | DATEFORMAT AS 'MON DD, YYYY' |
03.31.2003 18:45:05 03.31.2003 18:45:05.123456 |
TIMEFORMAT AS 'MM.DD.YYYY HH:MI:SS' |
Exemplo
Para ver um exemplo do uso de TIMEFORMAT, consulte Carregar um time stamp ou date stamp.