sql >> Databasteknik >  >> RDS >> Oracle

Hur man skriver koden i Oracle SQL (som 'CCYYMMDD' i 102)

Du kan inte skriva en funktion för att avgöra vilken numerisk datumsträng som motsvarar vilket format eftersom datumsträngen kan vara flera format:

Till exempel 010203 kan vara:

  • Format 2:DDMMYY 1 februari 03
  • Format 3:MMDDYY 2 januari 03
  • Format 101:YYMMDD 3 februari 01
  • Format 306:DDHHMM 02:03 dag 1
  • Format 402:HHMMSS 01:02:03
  • Format 405:MMMMSS 102 minuter 3 sekunder
  • Format 610:CCYYMM mars 0102
  • Format 616:CCYYWW Vecka 3 av 0102

Likaså 10080102 kan vara:

  • Format 4:DDMMCCYY 10 augusti 102
  • Format 102:CCYYMMDD 2 januari 1008
  • Format 305:MMDDHHMM 8 oktober 01:02
  • Format 501:HHMMHHMM Tidsintervall från 10:08 till 01:01

Du kan inte, som jag beskrev ovan, det är tvetydigt vad vissa värden är och de kan returnera flera format. Istället bör du skapa en annan kolumn och lagra datumformatet i det när användaren matar in datumet istället för att försöka rekonstruera formatkoden från ett (tvetydigt) tal.



  1. Django python-rq -- DatabaseError SSL-fel:dekryptering misslyckades eller dålig registrering mac

  2. Finns det några bra CachedRowSet-implementeringar förutom den proprietära Sun?

  3. Begränsa tecken som returneras i oracle sql-fråga

  4. Filtrera null eller tom indata med LOAD DATA INFILE i MySQL