Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment écrire le code dans Oracle SQL (comme 'CCYYMMDD' dans 102 )

Vous ne pouvez pas écrire une fonction pour déterminer quelle chaîne de date numérique correspond à quel format car la chaîne de date peut être de plusieurs formats :

Par exemple, 010203 pourrait être :

  • Format 2 :DDMMYY 1er février 03
  • Format 3 :MMDDYY 2 janvier 03
  • Format 101 :YYMMDD 3 février 01
  • Format 306 :DDHHMM 02:03 du Jour 1
  • Format 402 :HHMMSS 01:02:03
  • Format 405 :MMMMSS 102 minutes 3 secondes
  • Format 610 :CCYYMM Mars 0102
  • Format 616 :CCYYWW Semaine 3 de 0102

De même 10080102 pourrait être :

  • Format 4 :DDMMCCYY 10 août 102
  • Format 102 :CCYYMMDD 2 janvier 1008
  • Format 305 :MMDDHHMM 8 octobre 01:02
  • Format 501 :HHMMHHMM Période de 10h08 à 01h01

Vous ne pouvez pas, comme je l'ai décrit ci-dessus, certaines valeurs sont ambiguës et elles pourraient renvoyer plusieurs formats. Au lieu de cela, vous devez créer une autre colonne et y stocker le format de date lorsque l'utilisateur saisit la date plutôt que d'essayer de reconstruire le code de format à partir d'un nombre (ambigu).