sql >> Database teknologi >  >> RDS >> Oracle

Sådan skriver du koden i Oracle SQL (som 'CCYYMMDD' i 102 )

Du kan ikke skrive en funktion til at bestemme, hvilken numerisk datostreng, der svarer til hvilket format, da datostrengen kunne være flere formater:

For eksempel 010203 kunne være:

  • Format 2:DDMMYY 1. februar 03
  • Format 3:MMDDYY 2. januar 03
  • Format 101:YYMMDD 3. februar 01
  • Format 306:DDHHMM 02:03 på dag 1
  • Format 402:HHMMSS 01:02:03
  • Format 405:MMMMSS 102 minutter 3 sekunder
  • Format 610:CCYYMM marts 0102
  • Format 616:CCYYWW Uge 3 af 0102

Tilsvarende 10080102 kunne være:

  • Format 4:DDMMCCYY 10. august 102
  • Format 102:CCYYMMDD 2. januar 1008
  • Format 305:MMDDHHMM 8. oktober 01:02
  • Format 501:HHMMHHMM Tidsrum fra 10:08 til 01:01

Du kan ikke, som jeg beskrev ovenfor, det er tvetydigt, hvad nogle værdier er, og de kunne returnere flere formater. I stedet bør du oprette en anden kolonne og gemme datoformatet i det, når brugeren indtaster datoen i stedet for at forsøge at rekonstruere formatkoden ud fra et (tvetydigt) tal.



  1. Er der ydelsesforskel mellem concat vs || i orakel

  2. PostgreSQL newline karakter

  3. Sådan tjekker du for dubletter i mysql-tabel over flere kolonner

  4. Tegn med bytesekvens 0x9d i kodningen 'WIN1252' har ingen ækvivalent i kodningen 'UTF8'