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

البحث ما بين تاريخين

مغلق
بدأه فواز الشمري في 11 سبتمبر 2006 · 6 رد · 2,645 مشاهدة · في قسم لغة الاستفسارات SQL
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

شباب لدي سؤال بسيط ؟

وهوا اني قمت بعمل بحث ما بين تاريخين .

ولكن صيغة التاريه في ora تحفظ بشكل ما .

وأنا اريد البحث باستخدام الشكل التالي :

10/09/2006

جربت التحويل لـ To_CHAR ما نفع

كيف ابني الإستعلام ليبحث عن شي ما واقع بين تاريخين بشرط ان يكون تاريخ البحث بصيغة

10/09/2006

حيث ان الصيغة في قاعدة البيانات غير هذه الصيغة .

#2

أخي الكريم إدخل صيغة التاريخ على هيئة character ومن ثم حولها إلى date واستخدمها في البحث .

مثلاً .

Select * from emp where hiredate > to_date('12/12/1980');

وبالبركة .

طبعاً ولتحويل التاريخ إلى الهجري أو العكس .

استخدم دالة الـ nls_calander = arabic_hijrah .

#3

بإستخدام الدالة To_date يمكنك تنفيذ ذلك بشرط أن تعطي تنسيق كتابة التاريخ لأن أوراكل تعتمد عل تنسيق إفتراضي DD_MON-YY أي 01-JAN-05 و أي صيغة مثل 01/1/2008 سيعطي خطأ مباشرة ..

يمكنك تنفيذ التالي :

select to_date('10/1/2009','DD/MM/YYYY') from dual;

و إذا أردت إستعلام البحث مثلاً عن موظفين تاريخ توظيفهم بين 1/3/1987 و 1/10/1989 :

select hiredate from emp where hiredate between to_date('1/3/1987','DD/MM/YYYY') and to_date('1/10/1989','DD/MM/YYYY');
#4

ألف شكر لكم اخواني :

لدي استفسار قبل ان اجرب .

to_date('1/3/1987','DD/MM/YYYY')

هي تقوم بتحويل التاريخ للصيغة 'DD/MM/YYYY' مع ان صيغة التاريخ في الجدول DD_MON-YY

يعني في فرق في تحويل الصيغ .

سوف اجرب على الإثنتين

شكرا لكم

#5

أخي فواز : لا يهم ما الذي يتم تخزينه في القاعدة .. فلاتعتمد أوراكل نمط التخزين 01-تشى-2005 أو 01/20/2008 ...إلخ و إنما يتم تخزينها بالتفصيل الكامل يوم - سنة - شهر - ساعة - دقيقة- ثانية ..إلخ و ما يظهر على الشاشة هو تنسيقات لا تهمك..

إن to_date هي تابع يقوم بتحويل النص الذي تمرره إلى غرض يقوم بإعادته من النوع date ، و ما تقوم بتمريره في الوسيط الثاني هو عبارة عن التنسيق الذي قمت بكتابة التاريخ ضمن النص الذي قمت بتمريره ...

#6
اقتباس
طبعاً ولتحويل التاريخ إلى الهجري أو العكس .

استخدم دالة الـ nls_calander = arabic_hijrah .

كيف استخدم هاذي الدالة

عامل برنامج لشؤون الموظفين بالدوت نت مع اوراكل

وحايص بقصة التاريخ الهجري هذا

لأنهم يستخدم التاريخ الهجري هنا

عملت حل مؤقت وخزنتها AS Number

لكن كما تعرفون ابي اسوي عمليات حسابية عليها بالشهور ما اقدر

افيدوني جزاكم الله خير

#7

أخي الكريم لاحظت وضعك ومناقشتك لنفس الموضوع بأكثر من منتدى ؟!.

تمت إجابتك بالموضوع السابق .

حل مشكلة التحويل بين التاريخ الهجري والميلادي ..

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

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