ऐसा इसलिए है क्योंकि time
timestamp
. में परिवर्तित (कास्ट) नहीं किया जा सकता (न तो उनके समय-क्षेत्र से संबंधित संस्करण) PostgreSQL में। एफ.ई.एक्स. यह भी विफल हो जाएगा:
SELECT 'now'::time::timestamp
इन मामलों में, आपको USING
. का उपयोग करना चाहिए आपके ALTER TABLE
. में क्लॉज कथन (यदि आप इसे सीधे संपादित कर सकते हैं):
ALTER TABLE [ IF EXISTS ] [ ONLY ] name [ * ] ALTER [ COLUMN ] column_name [ SET DATA ] TYPE data_type [ COLLATE collation ] [ USING expression ]
आपकी क्वेरी इस तरह दिखेगी, f.ex.:
ALTER TABLE "my_model"
ALTER COLUMN "column_name"
SET DATA TYPE TIMESTAMP WITH TIME ZONE USING 'yesterday'::date + "column_name"