سؤال

وأنا تنفيذ الاستعلام أدناه، ويعود لي row.However فارغة هناك سجلات في الجدول وجود upd_time = '12 -MAR-08'.I لا أفهم لماذا لا يعود تاريخ '12 - MAR-08'.Please مساعدتي ؟؟

وSELECT br_data.upd_time من BANKREC.br_data حيث br_data.upd_time = '12 -MAR-08؛

هل كانت مفيدة؟

المحلول

وليس لدي الوصول إلى ديسيبل أوراكل في الوقت الحالي ولكن أتذكر باستخدام TO_CHAR.

والمحاولة

SELECT br_data.upd_time FROM BANKREC.br_data where to_char(br_data.upd_time, 'DD-MON-YY') = '12-MAR-08';

نصائح أخرى

ومن المرجح أن upd_time ليس بالضبط 12-MAR-08. تنسيق التاريخ لا يظهر عنصر الوقت، ولكن من المحتمل أن يكون هناك (نوع البيانات تاريخ في أوراكل يمكن أن تحتوي كل من مكونات التاريخ والوقت).

وجرب هذا (سوف يسمح لك أن ترى المكونات الوقت):

alter session set nls_date_format='DD-MON-YY HH24:MI:SS';

SELECT br_data.upd_time FROM BANKREC.br_data
where br_data.upd_time >= to_date('12-MAR-08','DD-MON-YY')
and br_data.upd_time < to_date('13-MAR-08','DD-MON-YY');

هل هو نفسه إذا كنت تفعل

SELECT br_data.upd_time FROM BANKREC.br_data 
       where trunc(br_data.upd_time) = '12-MAR-08';

ويمكن أن يكون هذا upd_time ليس تاريخا، ولكن الطابع الزمني، بحيث يحتوي فعلا على سبيل المثال '12 -MAR-08 05:30 'الذي لن يكون نفس الشيء. trunc() يزيل دوام جزئي من الطابع الزمني.

ومنذ فإنه لا يرجع خطأ، وأفترض أنه يوزع التاريخ بشكل صحيح، ولكن خلاف ذلك يمكنك أن تحاول مع to_date('12-MAR-08','DD-MON-YY')

ويجب عليك استخدام وظيفة أوراكل لتحويل سلسلة بشكل صحيح إلى تاريخ باستخدام

to_date('12-MAR-08', 'DD-MMM-YY')

وبعد ذلك عليك أن تأخذ في الاعتبار أن يحتوي على أوراكل "التاريخ" نوع البيانات أيضا معلومات الوقت إلى أقرب ثانية. وهذا يعني أن التاريخ الذي تم بناؤه في الخطوة الأولى هو في الواقع منتصف ليلة 12 مارس. بحيث يكون لديك للتأكد من أن يتم اقتطاع upd_time إلى منتصف الليل:

trunc(upd_time, 'DAY') = to_date('12-MAR-08', 'DD-MMM-YY')

ويصبح الاستعلام الكامل

SELECT br_data.upd_time 
FROM BANKREC.br_data 
WHERE trunc(upd_time, 'DAY') = to_date('12-MAR-08', 'DD-MMM-YY');

وهناك طرق أخرى لسلخ هذا القط (هل يمكن نقل عمود updTime لحقل شار السليم مع to_char(upd_time, 'DD-MMM-YY'))، لكنه عادة ما ينصح جعل البيانات كنت تبحث عن غرار ما يمكنك أن تجد في قاعدة البيانات كما يزيد فرصك استخدام فهرس للبحث.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top