Paramu1973 Ответов: 2

Арабское хранилище дат для SQL Server 2008?


У меня есть небольшое приложение на C# для чтения данных из Excel, а затем хранения данных в Sql Server 2008. В Excel есть столбец для Hijri_Date, например формат dd/MM/yyyy,

Пример: 17/4/1432

Мне нужно прочитать из Excel и обновить его до SQl Server 2008. Для этого в sql server какой тип данных должен быть объявлен для этого? datatime или типа datetime2 ?

И каким будет заявление об обновлении?

Update MyTable set My_Hijri_Dt=?? where MyField1='MyValue';

Может ли кто-нибудь сообщить подробности?

Спасибо
На своей странице сообщает

2 Ответов

Рейтинг:
13

Keith Barrow

Я не уверен в этом на 100%, но согласно этот[^] SQL server поддерживает только Грегорианские даты. Это имеет некоторый смысл, поскольку аль-Хиджра-один из немногих календарей, который не следует за солнечным годом и трудностью применения лунных наблюдений. Вы можете изменить дату UTC на хиджру с помощью приведение/преобразование[^] функции, если хотите, но, вероятно, лучше хранить все на стороне SQL server в UTC и написать функцию для преобразования в al-Hijri на клиенте.


[no name]

Спасибо!

Рейтинг:
1

almounkez

Declare @Hdate nvarchar(50)
set @Hdate = convert(varchar(10),convert(date,convert(varchar(12),@thedate,131),103),112)


CHill60

Msg 241, Уровень 16, Состояние 1, Строка 2
Преобразование не удалось при преобразовании даты и/или времени из символьной строки.

almounkez

Объявить @Hdate nvarchar(50)
set @Hdate = конвертировать(varchar(10),конвертировать(дата,конвертировать(varchar(12),GETDATE(),131),103),112)
выберите @Hdate