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.