Эти даты (арабский, джалали, ...) обычно имеют проблемы с серверами SQL. По моему опыту, есть 3 способа справиться с этим:
Использование символов типов для хранения дат в полях в любом произвольном формате. (Проблема в том, что: манипулирование, арифметика, сортировка, ... которые трудно реализовать)
Использование целое число или фиксированный символ тип для хранения дат, например 14420101
для 1/1/1442
. (То же, что и первый, но сортировка решена)
Используя date или timestamp type для хранения, вы должны конвертировать даты в стандартный формат даты перед сохранением в базе данных, а когда вы читаете их, конвертировать их назад. Этот метод требует внешнего языка программирования для обработки (обычно есть внешний язык) . Или вы можете написать внутренние функции в вашей базе данных.
Просто сохраните даты, тогда достаточно методов 1 и 2.
В противном случае я предлагаю третий подход, потому что вы можете использовать предопределенные функции date
и time
, которые существуют на серверах баз данных или языках программирования.
Например, вы можете легко использовать date_diff()
в PHP или использовать внутренние функции postgres для дат.