الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

حل مشكلة التاريخ الهجري في SQL SERVER

مغلق
بدأه imadouzoun في 11 أغسطس 2007 · 7 رد · 6,449 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته :

بصراحة يا أصحاب لم أكن أعرف أن الأمر تتم معالجته بهذه البساطة في SQL Server .. :)

جربوا هذا الكود :

Select  Convert( NVarchar, getdate(), 130 )

أما الذين يصعب عليهم إدخال التاريخ الهجري إلى قاعدة البيانات فيمكنهم تحويل التاريخ الهجري إلى ميلادي

من برنامجه ثم إدخال إلى قاعدة البيانات بشكله الميلادي ثم معالجته كما سبق ..

لمزيد من المعلومات راجع الرابط التالي مع الانتباه إلى الكلمة Hijri :

http://msdn2.microsoft.com/en-us/library/ms187928.aspx

كما ويوجد طريقة على ما أعتقد باستخدام نوع بيانات جديد بالـ SQL Server CLR ..

هل هذا ما يبحث عنه الإخوة في هذا المنتدى أم لا ..

تم تعديل هذه المشاركة بواسطة imadouzoun في 11 أغسطس 2007 في 22:21

دروس و كتب مفيدة----------------------كتيب الإجرائيات المخزنةتعرف على اللغة Transact SQL <<-->> كتيب عن تنصيب قواعد البيانات Sql Server باللغة العربية كتيب عن إنشاء قواعد البيانات في SQL Server باللغة العربية <<-->> درس مع الأمثلة عن المؤشرات و التعامل معها في الـ T-SQLالعبارات الشرطية و الحلقات في T-SQL <<-->> شرح لبعض الـ Extended Stored Procedure استخدام مكتبات الـ Dot Net الخاصة بك في الـ Sql Server 2005 <<-->> التعامل مع المصفوفات من خلال الـ T-SQLتعابير الجداول الشائعة في SQL Server 2005 <<-->>الاتصال بالأداة SQL Server Management Studioحلول سريعة و لمحات برمجية --------------------------------التصدير إلى إكسل : طريقة أولى : طريقة بسطر واحد من الكود <<-->> طريقة ثانية : طريقة تحتاج إنشاء إجرائية مخزنةً تجهيز بيانات جدول بالصيغة XML تمهيداً لحفظها كملف <<-->> تصدير البيانات إلى ملفات نصية برمجياً إغلاق جميع الإتصالات المفتوحة بقاعدة بيانات محددة .. تمهيداً لاسترجاعها أو حذفها <<-->> الاستعلام بناء على وقت مخزن بالصيغة العربية ضمن حقل نصي ..حذف السجلات المتكررة و إبقاء عدد محدد منها في جدول.. <<-->> أسرع طريقة لحذف سجلات جدول كيف احصل على اسم جهازي والباسوورد باستخدام T-SQL <<-->> حشر أنواع الصور المختلفة في حقل من نوع Image باستخدام إجرائية مخزنة .كيف تعرف أنواع الصور المخزنة في حقل من نوع Image .. <<-->> إجرائيات مخزنة ببارامترات ديناميكية مفيدة جداً للاستعلامات استخدام رقم الحقل بدلاً من الإسم في عبارات الإستعلام <<-->> من هو أضخم الجداول في قاعدة بياناتي ؟معرفة زمن تنفيذ الإجرائيات ( لتختار الطريقة الأسرع بين إجرائياتك المخزنة ) <<-->> التعامل مع الـ Rules برمجياً الحصول على آخر صف في الجدول <<-->> قراءة ملفات XML باستخدام T-SQL برمجياً (مثال مرفق)سحب بيانات ملف إكسل إلى الـ SQL Server <<-->> تشفير النسخة الاحتياطية بكلمة مرور <<-->> التخلص من البيانات المكررة <<-->> حل مشكلة التاريخ الهجريDifferential Backup بالتعريف---------- لا إله إلا الله .. محمد رسول الله

أخوكم في الله..  Imad Ozone

#2
اقتباس
Select Convert( NVarchar, getdate(), 130 )

الرمز 130 الخاص بالتاريخ الهجري تم اضافته الى sql 2000 من خلال sp2 او sp3 اي لم تكن موجودة عند اول نزول 2000 وعملية الاحتساب تعتمد على طريقة كويتية .

#3

ممكن توضح أكثر

اقتباس
نزول 2000 وعملية الاحتساب تعتمد على طريقة كويتية .

وكيف أعرف أن sql server لدي تحتوي على التحديثات الخاصة بالتاريخ الهجري

#4

بالنسبة للتاريخ الهجري توجد عدة طرق او خوارزميات لاحتسابه منها خوارزمية تقويم ام القرى و خوارزمية جوجل وهناك الخوارزمية الكويتية التي تستخدمها مايكروسوفت وادق هذه الخوارزميات هي خوارزمية ام القرى

تفصيل عن هذه الطريقة http://en.wikipedia.org/wiki/Kuwaiti_algorithm

لمعرفة وجودها في sql 2000 نفذ الامر

Select  Convert( NVarchar, getdate(), 130 )

اذا اعطى خطأ فيجب تنزيل sp3

#5

السلام عليكم ورحمة الله وبركاته

انا استخدم الاكسيس كواجهه و قاعدة البيانات sql server 2000 وكل شي شغال تمام الربط عن طريق ODBC

المشكله هي

فيه بعض الاستعلامات ومصدر هذي الاستعلامات الجداول

واستخدم التاريخ الهجري في هذي الاستعلامات وعندما يتم تشغيل الاستعلام يعطيني رساله هي

((( البيانات خارج نطاق - - ODBC ))

علماً ان تنسيق الحقول هي التاريخ YYYY/M/D

فهل يوجد طريق لحل هذي المشكله

والله الموفق

والسلام عليكم ورحمة الله وبركاته

#6

السلام عليكم ورحمة الله وبركاته :

المشكلة في نوع البيانات الذي تستخدمه و في التنسيق معاً ..

جرب كحل ما يلي :

Set Dateformat dmy

لتحويل صيغة التاريخ إلى : dd\MM\yyyy

ثم تاكد من أن نوع البيانات هو DateTime وليس SmallDateTime بالنسبة لعمود البيانات الذي تدخل فيه ..

ثم تدخل التاريخ على الشكل التالي :

Set DateFormat dmy
Declare @hijriDate NVarchar(50)
Set @hijriDate = ' 07/05/1421 12:14:35:727PM'
SELECT CONVERT(datetime, @hijriDate, 131)

ثم تأكد من كون الـ Service Pack 3 منصب عندك عن طريق التعليمة :

Select @@version

التي تعطيك إصدار SQL server لديك مع الـ Service Pack المنصب على جهازك ..

وللحصول على أفضل معلومات حول التاريخ الهجري في الـ SQL SERVER انظر إلى الرابط التالي :

http://www.microsoft.com/globaldev/DrIntl/...default.mspx#Q3

أرجو من الإدارة تثبيت هذا الموضوع كونه من الأسئلة المتكررة ..

تم تعديل هذه المشاركة بواسطة imadouzoun في 17 أغسطس 2007 في 01:25

دروس و كتب مفيدة----------------------كتيب الإجرائيات المخزنةتعرف على اللغة Transact SQL <<-->> كتيب عن تنصيب قواعد البيانات Sql Server باللغة العربية كتيب عن إنشاء قواعد البيانات في SQL Server باللغة العربية <<-->> درس مع الأمثلة عن المؤشرات و التعامل معها في الـ T-SQLالعبارات الشرطية و الحلقات في T-SQL <<-->> شرح لبعض الـ Extended Stored Procedure استخدام مكتبات الـ Dot Net الخاصة بك في الـ Sql Server 2005 <<-->> التعامل مع المصفوفات من خلال الـ T-SQLتعابير الجداول الشائعة في SQL Server 2005 <<-->>الاتصال بالأداة SQL Server Management Studioحلول سريعة و لمحات برمجية --------------------------------التصدير إلى إكسل : طريقة أولى : طريقة بسطر واحد من الكود <<-->> طريقة ثانية : طريقة تحتاج إنشاء إجرائية مخزنةً تجهيز بيانات جدول بالصيغة XML تمهيداً لحفظها كملف <<-->> تصدير البيانات إلى ملفات نصية برمجياً إغلاق جميع الإتصالات المفتوحة بقاعدة بيانات محددة .. تمهيداً لاسترجاعها أو حذفها <<-->> الاستعلام بناء على وقت مخزن بالصيغة العربية ضمن حقل نصي ..حذف السجلات المتكررة و إبقاء عدد محدد منها في جدول.. <<-->> أسرع طريقة لحذف سجلات جدول كيف احصل على اسم جهازي والباسوورد باستخدام T-SQL <<-->> حشر أنواع الصور المختلفة في حقل من نوع Image باستخدام إجرائية مخزنة .كيف تعرف أنواع الصور المخزنة في حقل من نوع Image .. <<-->> إجرائيات مخزنة ببارامترات ديناميكية مفيدة جداً للاستعلامات استخدام رقم الحقل بدلاً من الإسم في عبارات الإستعلام <<-->> من هو أضخم الجداول في قاعدة بياناتي ؟معرفة زمن تنفيذ الإجرائيات ( لتختار الطريقة الأسرع بين إجرائياتك المخزنة ) <<-->> التعامل مع الـ Rules برمجياً الحصول على آخر صف في الجدول <<-->> قراءة ملفات XML باستخدام T-SQL برمجياً (مثال مرفق)سحب بيانات ملف إكسل إلى الـ SQL Server <<-->> تشفير النسخة الاحتياطية بكلمة مرور <<-->> التخلص من البيانات المكررة <<-->> حل مشكلة التاريخ الهجريDifferential Backup بالتعريف---------- لا إله إلا الله .. محمد رسول الله

أخوكم في الله..  Imad Ozone

#7

السلام عليكم ورحمة الله بركاته

الاخ الكريم / imadouzoun

لقد نزلة التحديث الخاص بـ Service Pack 3 sql server 2000

ولكن بكل اسف مازالة الراسلة تظهر عند تشغيل الاستعلام ((( البيانات خارج نطاق - - ODBC ))

حيث اذا تم تشغيل الاستعلام خاص بالتاريخ مثل

اكبر من تاريخ

او اصغر من تاريخ

تظهر هذي الرسالة ((( البيانات خارج نطاق - - ODBC ))

فهل يوجد طريق لحل هذي المشكله

والله الموفق

والسلام عليكم ورحمة الله وبركاته

#8

أقرأ الإجابة السابقة فقد قمت بتعديلها و تصحيحها ..

دروس و كتب مفيدة----------------------كتيب الإجرائيات المخزنةتعرف على اللغة Transact SQL <<-->> كتيب عن تنصيب قواعد البيانات Sql Server باللغة العربية كتيب عن إنشاء قواعد البيانات في SQL Server باللغة العربية <<-->> درس مع الأمثلة عن المؤشرات و التعامل معها في الـ T-SQLالعبارات الشرطية و الحلقات في T-SQL <<-->> شرح لبعض الـ Extended Stored Procedure استخدام مكتبات الـ Dot Net الخاصة بك في الـ Sql Server 2005 <<-->> التعامل مع المصفوفات من خلال الـ T-SQLتعابير الجداول الشائعة في SQL Server 2005 <<-->>الاتصال بالأداة SQL Server Management Studioحلول سريعة و لمحات برمجية --------------------------------التصدير إلى إكسل : طريقة أولى : طريقة بسطر واحد من الكود <<-->> طريقة ثانية : طريقة تحتاج إنشاء إجرائية مخزنةً تجهيز بيانات جدول بالصيغة XML تمهيداً لحفظها كملف <<-->> تصدير البيانات إلى ملفات نصية برمجياً إغلاق جميع الإتصالات المفتوحة بقاعدة بيانات محددة .. تمهيداً لاسترجاعها أو حذفها <<-->> الاستعلام بناء على وقت مخزن بالصيغة العربية ضمن حقل نصي ..حذف السجلات المتكررة و إبقاء عدد محدد منها في جدول.. <<-->> أسرع طريقة لحذف سجلات جدول كيف احصل على اسم جهازي والباسوورد باستخدام T-SQL <<-->> حشر أنواع الصور المختلفة في حقل من نوع Image باستخدام إجرائية مخزنة .كيف تعرف أنواع الصور المخزنة في حقل من نوع Image .. <<-->> إجرائيات مخزنة ببارامترات ديناميكية مفيدة جداً للاستعلامات استخدام رقم الحقل بدلاً من الإسم في عبارات الإستعلام <<-->> من هو أضخم الجداول في قاعدة بياناتي ؟معرفة زمن تنفيذ الإجرائيات ( لتختار الطريقة الأسرع بين إجرائياتك المخزنة ) <<-->> التعامل مع الـ Rules برمجياً الحصول على آخر صف في الجدول <<-->> قراءة ملفات XML باستخدام T-SQL برمجياً (مثال مرفق)سحب بيانات ملف إكسل إلى الـ SQL Server <<-->> تشفير النسخة الاحتياطية بكلمة مرور <<-->> التخلص من البيانات المكررة <<-->> حل مشكلة التاريخ الهجريDifferential Backup بالتعريف---------- لا إله إلا الله .. محمد رسول الله

أخوكم في الله..  Imad Ozone

هذا الموضوع مغلق.

مواضيع مشابهة