Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como escrever o código no Oracle SQL (como 'CCYYMMDD' em 102 )


Você não pode escrever uma função para determinar qual string de data numérica corresponde a qual formato, pois a string de data pode ter vários formatos:

Por exemplo, 010203 poderia ser:
  • Formato 2:DDMMYY 1º de fevereiro de 03
  • Formato 3:MMDDYY 2 de janeiro de 03
  • Formato 101:YYMMDD 3 de fevereiro 01
  • Formato 306:DDHHMM 02:03 do dia 1
  • Formato 402:HHMMSS 01:02:03
  • Formato 405:MMMMSS 102 minutos e 3 segundos
  • Formato 610:CCYYMM Março 0102
  • Formato 616:CCYYWW Semana 3 de 0102

Da mesma forma 10080102 poderia ser:
  • Formato 4:DDMMCCYY 10 de agosto de 102
  • Formato 102:CCYYMMDD 2 de janeiro de 1008
  • Formato 305:MMDDHHMM 8 de outubro 01:02
  • Formato 501:HHMMHHMM Período de tempo de 10:08 a 01:01

Você não pode, como descrevi acima, é ambíguo quais são alguns valores e eles podem retornar vários formatos. Em vez disso, você deve criar outra coluna e armazenar o formato de data nela quando o usuário inserir a data, em vez de tentar reconstruir o código do formato de um número (ambíguo).