سؤال

في أوراكل، هذا يعود 03/01/2010. أن لا معنى له بالنسبة لي. أي شخص يعرف لماذا؟

SELECT TO_DATE( '2010' ,'yyyy' ) AS STRANGE_YEAR_RESULT
FROM DUAL

لقد حاولت على أوراكل 10G و 11G.

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

المحلول

يحتاج Oracle إلى تاريخ كامل في حقل قيمة نوع التاريخ، مما يجعله يستغرق اليوم الأول من حاضر شهر، أعتقد، لأنك لا تحتاج إلى أي معلومات أخرى من العام. تذكر أنك تحتاج دائما إلى إعداد To_Date () و To_Char () في Oracle. على افتراض ذلك، أوراكل "تعرف" أنك ستحصل على المعلومات المطلوبة.

نصائح أخرى

لا أعتقد أن هناك أي سبب معقول، إنه مجرد "ما يفعله". كما حصلت على مناقشتها على منتديات OTN قبل نحو سنة.

لا أعرف، لكن تخميني هو في ذلك الشهور مقرها صفر، لذلك جان = 0، مارس = 2، إلخ.

قد تكون "10" مشكلة Y2K في التصنيع، ولكن يتم تفسيرها على أنها 2010.

وإذا تم تقديم أي يوم من شهر، فربما يفترض اليوم الأول من الشهر.

لماذا اختبار هذا؟ لن ترغب أبدا في الكود بهذه الطريقة.

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