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:
DDMMYY1. února 03 - Formát 3:
MMDDYY2. ledna 03 - Formát 101:
YYMMDD3. února 01 - Formát 306:
DDHHMM02:03 dne 1 - Formát 402:
HHMMSS01:02:03 - Formát 405:
MMMMSS102 minut 3 sekund - Formát 610:
CCYYMMbřezna 0102 - Formát 616:
CCYYWW3. týden roku 0102
Podobně 10080102 může být:
- Formát 4:
DDMMCCYY10. srpna 102 - Formát 102:
CCYYMMDD2. ledna 1008 - Formát 305:
MMDDHHMM8. ří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.