Exemplos
A expressão a seguir retorna valores de data para as strings na porta DATE_PROMISED. TO_DATE sempre retorna uma data e uma hora. Se você passar uma string que não tem um valor de hora, a data retornada incluirá a hora 00:00:00.000000000. Se você executar uma sessão no século vinte, o século será 19. Nesse exemplo, o ano atual no nó que executa o
Serviço de Integração do PowerCenter
é 1998. O formato datetime da coluna de destino é MON DD YY HH24:MI SS, e assim o
Serviço de Integração do PowerCenter
trunca o valor datetime em segundos ao gravar no destino:
A expressão a seguir retorna valores de data para as strings na porta DATE_PROMISED. TO_DATE sempre retorna uma data e hora. Se você passar uma string que não tenha valor de hora, a data retornada incluirá a hora 00:00:00.000000000. Se você executar um mapeamento no século vinte, o século será 19. Nesse exemplo, o ano atual no nó que executa o
Serviço de Integração do PowerCenter
é 1998. O formato datetime da coluna de destino é MON DD YY HH24:MI SS, e assim o
Serviço de Integração do PowerCenter
trunca o valor datetime em segundos ao gravar no destino:
TO_DATE( DATE_PROMISED, 'MM/DD/YY' )
A expressão a seguir retorna valores de data para as strings na porta DATE_PROMISED. Se você passar uma string que não tenha valor de hora, o
Serviço de Integração do PowerCenter
retornará um erro. Se você executar uma sessão no século vinte, o século será 19. O ano atual no nó que executa o
Serviço de Integração do PowerCenter
é 1998:
A expressão a seguir retorna valores de data para as strings na porta DATE_PROMISED. Se você passar uma string que não tenha valor de hora, o
Serviço de Integração do PowerCenter
retornará um erro. Se você executar um mapeamento no século vinte, o século será 19. O ano atual no nó que executa o
Serviço de Integração do PowerCenter
é 1998:
TO_DATE( DATE_PROMISED, 'MON DD YYYY HH12:MI:SSAM' )
| Error. Integration Service skips this row.
|
A seguinte expressão converte strings na porta SHIP_DATE_MJD_STRING em valores de data:
TO_DATE (SHIP_DATE_MJD_STR, 'J')
| Dec 31 1999 00:00:00.000000000
|
| Jan 1 1900 00:00:00.000000000
|
Como a string de formato J não inclui a parte de tempo de uma data, os valores retornados têm a hora definida como 00:00:00.000000000.
A expressão a seguir converte uma string em um formato de ano de quatro dígitos. O ano atual é 1998:
TO_DATE( DATE_STR, 'MM/DD/RR')
| 04/01/1998 00:00:00.000000000
|
| 08/17/2005 00:00:00.000000000
|
A expressão a seguir converte uma string em um formato de ano de quatro dígitos. O ano atual é 1998:
TO_DATE( DATE_STR, 'MM/DD/YY')
| 04/01/1998 00:00:00.000000000
|
| 08/17/1905 00:00:00.000000000
|
Na segunda linha, RR retorna o ano 2005 e YY retorna o ano 1905.
A expressão a seguir converte uma string em um formato de ano de quatro dígitos. O ano atual é 1998:
TO_DATE( DATE_STR, 'MM/DD/Y')
| 04/01/1998 00:00:00.000000000
|
| 08/17/1995 00:00:00.000000000
|
A expressão a seguir converte uma string em um formato de ano de quatro dígitos. O ano atual é 1998:
TO_DATE( DATE_STR, 'MM/DD/YYY')
| 04/01/1998 00:00:00.000000000
|
| 08/17/1995 00:00:00.000000000
|
A seguinte expressão converte strings que incluem os segundos desde a meia-noite em valores de data:
TO_DATE( DATE_STR, 'MM/DD/YYYY SSSSS')
Se o destino aceitar formatos de data diferentes, use TO_DATE e IS_DATE com a função DECODE para testar formatos aceitáveis. Por exemplo:
DECODE( TRUE,
--test first format
IS_DATE( CLOSE_DATE,'MM/DD/YYYY HH24:MI:SS' ),
--if true, convert to date
TO_DATE( CLOSE_DATE,'MM/DD/YYYY HH24:MI:SS' ),
--test second format; if true, convert to date
IS_DATE( CLOSE_DATE,'MM/DD/YYYY'), TO_DATE( CLOSE_DATE,'MM/DD/YYYY' ),
--test third format; if true, convert to date
IS_DATE( CLOSE_DATE,'MON DD YYYY'), TO_DATE( CLOSE_DATE,'MON DD YYYY'),
--if none of the above
ERROR( 'NOT A VALID DATE') )
Você pode combinar TO_CHAR e TO_DATE para converter um valor numérico de um mês no valor de texto de um mês usando uma função, como:
TO_CHAR( TO_DATE( numeric_month, 'MM' ), 'MONTH' )