Postgres 9.5-এ, আমি বছরের সাথে পরীক্ষা করার সময় নীচের ফলাফলটি দেখে অবাক হয়েছি 0001(কোনও বছর শূন্য নয় 0000)।
অফসেট -07:52:58?
কিছু উদাহরণ কোড। নোট করুন যে আমি ব্যবহারের মিশ্রিত করেছি TIMESTAMP WITH TIME ZONEএবং TIMESTAMP WITHOUT TIME ZONEতাই যত্ন সহকারে পড়ি।
SET TIME ZONE 'America/Los_Angeles' ;
SELECT (TIMESTAMP WITH TIME ZONE '2015-01-01 00:00:00.0',
TIMESTAMP WITH TIME ZONE '0001-01-01 00:00:00.0Z',
TIMESTAMP WITHOUT TIME ZONE '0001-01-01 00:00:00.0Z') ;
("2015-01-01 00:00:00-08","0001-12-31 16:07:02-07:52:58 BC","0001-01-01 00:00:00")
আমি যে দ্বিতীয় মান বিস্মিত করছি: 0001-12-31 16:07:02-07:52:58 BC। আমি বুঝি যে আমরা পিছন দিকে আট ঘণ্টা যেতে হবে যেমন America/Los_Angelesএকজন অফসেট সঙ্গে ইউটিসি পিছনে আট ঘন্টা -08:00। তবে -08:00অফসেটের পরিবর্তে হয় -07:52:58। কেন?
ইউটিসির অধীনে কোনও সমস্যা নেই
ইউটিসির অধীনে ডেটা প্রবেশের সময় এ জাতীয় কোনও সমস্যা নেই।
SET TIME ZONE 'UTC' ;
SELECT (TIMESTAMP WITH TIME ZONE '2015-01-01 00:00:00.0',
TIMESTAMP WITH TIME ZONE '0001-01-01 00:00:00.0Z',
TIMESTAMP WITHOUT TIME ZONE '0001-01-01 00:00:00.0Z');
("2015-01-01 00:00:00+00","0001-01-01 00:00:00+00","0001-01-01 00:00:00")
নেই ইয়ার জিরো
যাইহোক, তারিখের অংশটি সঠিক বলে মনে হচ্ছে। মনে হয় কোনও বছর নেই 0000, এটি "খ্রিস্টপূর্ব" এবং "খ্রিস্টাব্দ" এর যুগের প্রধান বিষয়। 0001 বছরের প্রথম মুহূর্তটি নিন, এক ঘন্টা বিয়োগ করুন এবং আপনি বছরটি পান 0001 BC- সুতরাং কোনও বছর শূন্য নয়।
SET TIME ZONE 'UTC' ;
INSERT INTO moment_ -- TIMESTAMP WITH TIME ZONE.
VALUES ( TIMESTAMP '0001-01-01 00:00:00.0Z' - INTERVAL '1 hour' ) ;
SET TIME ZONE 'UTC' ;
TABLE moment_ ;
ফলাফলের বছর 0001 BCতাই আমরা থেকে লাফ, 0001করতে 0001 BC; কোন বছর শূন্য 0000।
"0001-12-31 23:00:00+00 BC"
0000বৈধ বছরের মূল্য হিসাবে গ্রহণ করার ক্ষেত্রে সমর্থন করে তবে এটি ব্যবহৃত হয় বা না তা জোর করে না )। এটি সত্য যে PostgreSQL কোনও বছর 0 ছাড়াই ফর্মটি ব্যবহার করে, তবে আপনি "বছরগুলি 1 শুরু করে না, 0" লিখতে পারবেন না যেন এটি কিছুটা সার্বজনীন সত্য fact উদাহরণস্বরূপ জ্যোতির্বিদ্যা সংক্রান্ত ডেটার জন্য তাদের মধ্যে অনুবাদ করা সহজ। (তৃতীয় সহস্রাব্দ এখনও 2001 সালে যে কোনও উপায়ে শুরু হয়েছিল, যেহেতু এটি 1 ই সি থেকে তৃতীয় সহস্রাব্দ থেকে গেছে)