Queste date (arabo, Jalali, ...) di solito hanno problemi con SQL server. Nella mia esperienza, ci sono 3 modi per gestire la cosa:
Uso carattere tipi per la memorizzazione di date nei campi con qualsiasi formato personalizzato. (Il problema sono: manipolazione, aritmetica, smistamento, ... che sono difficili da implementare)
Uso intero o fisso carattere tipo per date memorizzazione, come 14420101
per 1/1/1442
. (Come prima, ma l'ordinamento è risolto)
Utilizzando data o timestamp tipo per l'archiviazione, è necessario convertire le date in formato data standard prima di riporla nel database, e quando li stai leggendo riconvertirli. Questo metodo richiede un linguaggio di programmazione esterno per gestire (di solito c'è una lingua esterna). O puoi scrivere una funzione interna nel tuo database.
Basta memorizzare le date quindi i metodi 1 e 2 sono sufficienti.
In caso contrario, suggerisco il terzo approccio, perché è possibile utilizzare le funzioni predefinite date
e time
esistenti nei server di database o nei linguaggi di programmazione.
Ad esempio è possibile utilizzare date_diff()
facilmente in PHP oppure utilizzare le funzioni interne di Postgres per le date.
Fornire ulteriori informazioni - codice, schema DB, istruzioni SQL ecc. –