Nemůžete napsat funkci, která určí, který číselný řetězec data odpovídá kterému formátu, protože řetězec data může mít více formátů:
Například 010203
může být:
- Formát 2:
DDMMYY
1. února 03 - Formát 3:
MMDDYY
2. ledna 03 - Formát 101:
YYMMDD
3. února 01 - Formát 306:
DDHHMM
02:03 dne 1 - Formát 402:
HHMMSS
01:02:03 - Formát 405:
MMMMSS
102 minut 3 sekund - Formát 610:
CCYYMM
března 0102 - Formát 616:
CCYYWW
3. týden roku 0102
Podobně 10080102
může být:
- Formát 4:
DDMMCCYY
10. srpna 102 - Formát 102:
CCYYMMDD
2. ledna 1008 - Formát 305:
MMDDHHMM
8. října 01:02 - Formát 501:
HHMMHHMM
Časové rozpětí od 10:08 do 01:01
Nemůžete, jak jsem popsal výše, je nejednoznačné, jaké jsou některé hodnoty, a mohly by vrátit více formátů. Místo toho byste měli vytvořit další sloupec a uložit formát data v tom, kdy uživatel zadá datum, spíše než se snažit rekonstruovat kód formátu z (nejednoznačného) čísla.