2012-01-16 1 views
0

У меня есть таблица со столбцами Hijri date и по-григориански. Я хочу выбрать запрос для получения даты Хиджри из этой таблицы, передав григорианскую дату. Я передам григорианскую дату в качестве параметра из моего кода в C#.Sql запрос, чтобы получить арабскую дату для gregorian date из базы данных

+0

Вы имеете в виду григорианскую дату? Неясно, как григорианская дата относится к дате Хиджри здесь. –

+0

A 'Gorgon date' звучит интригующе ... –

+0

любая причина, по которой вы не используете встроенные классы .NET для дат хиджри, чтобы сделать преобразование? – Yahia

ответ

0

SqlServer может преобразовывать григорианскую дату в Хиджри, используя функцию CONVERT и поставляя соответствующий стиль 130 или 131. См. Также the MSDN documentation.

Предполагая, что вы сохранили в григорианском календаре ваши даты в вашей базе данных вы можете использовать это, чтобы получить дату хиджры:

DateTime start = ... 
DateTime end = ... 

... 

var cmd = new SqlCommand("SELECT CONVERT(varchar, YourDateColumn, 131) FROM YourTable WHERE YourDateColumn BETWEEN @startdate AND @enddate"); 
cmd.Parameters.AddWithValue("@startdate", start); 
cmd.Parameters.AddWithValue("@enddate", end); 

Если вы хотите что-то другое, что нужно быть более конкретным.

В ответе to this question приведены примеры того, как выполнять преобразования даты и времени с Hijri в .NET.

+0

Я использовал приведенный ниже код в .net, чтобы преобразовать его. –