String até hoje no Oracle com milissegundos
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?
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