sql >> Base de Datos >  >> RDS >> Oracle

Cómo escribir el código en Oracle SQL (como 'CCYYMMDD' en 102)

No puede escribir una función para determinar qué cadena de fecha numérica corresponde a qué formato, ya que la cadena de fecha podría tener varios formatos:

Por ejemplo, 010203 podría ser:

  • Formato 2:DDMMYY 1 de febrero de 2003
  • Formato 3:MMDDYY 2 de enero de 2003
  • Formato 101:YYMMDD 3 de febrero de 01
  • Formato 306:DDHHMM 02:03 del día 1
  • Formato 402:HHMMSS 01:02:03
  • Formato 405:MMMMSS 102 minutos 3 segundos
  • Formato 610:CCYYMM marzo 0102
  • Formato 616:CCYYWW Semana 3 de 0102

Del mismo modo 10080102 podría ser:

  • Formato 4:DDMMCCYY 10 de agosto de 102
  • Formato 102:CCYYMMDD 2 de enero de 1008
  • Formato 305:MMDDHHMM 8 de octubre 01:02
  • Formato 501:HHMMHHMM Intervalo de tiempo de 10:08 a 01:01

No puede, como describí anteriormente, es ambiguo cuáles son algunos valores y podrían devolver múltiples formatos. En su lugar, debe crear otra columna y almacenar el formato de fecha cuando el usuario ingresa la fecha en lugar de intentar reconstruir el código de formato a partir de un número (ambiguo).