Pergunta

Eu quero converter a string a seguir até o momento:

2004-09-30 23:53:48,140000000

Eu tentei:

to_date('#', 'YYYY-MM-DD HH24:MI:SS,FF9')

Mas PL/SQL Continue jogando este erro:

ORA-01821: date format not recognized.

FF9 está incorreto para o Oracle, alguma sugestão?

Foi útil?

Solução

Oracle armazena apenas as frações até o segundo em um DATE campo.

Usar TIMESTAMP em vez de:

SELECT  TO_TIMESTAMP('2004-09-30 23:53:48,140000000', 'YYYY-MM-DD HH24:MI:SS,FF9')
FROM    dual

, possivelmente lançando -o para um DATE então:

SELECT  CAST(TO_TIMESTAMP('2004-09-30 23:53:48,140000000', 'YYYY-MM-DD HH24:MI:SS,FF9') AS DATE)
FROM    dual

Outras dicas

Eu não acho que você possa usar segundos fracionários com to_date ou o tipo de data no Oracle. Eu acho que você precisa_timestamp, que retorna um tipo de data e hora.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top