PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

रूबी में डेटटाइम का मिलीसेकंड रिज़ॉल्यूशन

ActiveRecord को डेटाबेस से पूर्ण परिशुद्धता को सुरक्षित रखना चाहिए, आप इसे ठीक से नहीं देख रहे हैं। strftime का उपयोग करें और %N भिन्नात्मक सेकंड देखने के लिए प्रारूप। उदाहरण के लिए, psql यह कहता है:

=> select created_at from models where id = 1;
         created_at         
----------------------------
 2012-02-07 07:36:20.949641
(1 row)

और ActiveRecord यह कहता है:

> Model.find(1).created_at.strftime('%Y-%m-%d %H:%M:%S.%N')
 => "2012-02-07 07:36:20.949641000" 

तो सब कुछ है, आपको बस यह जानने की जरूरत है कि इसे कैसे देखा जाए।

यह भी ध्यान रखें कि ActiveRecord शायद आपको ActiveSupport::TimeWithZone देगा DateTime . के बजाय ऑब्जेक्ट ऑब्जेक्ट्स लेकिन DateTime सब कुछ भी सुरक्षित रखता है:

> '2012-12-31T01:01:01.232323+3'.to_datetime.strftime('%Y-%m-%d %H:%M:%S.%N')
 => "2012-12-31 01:01:01.232323000" 

connection_adapters/column.rb पर एक नजर डालें ActiveRecord स्रोत में और जांचें कि string_to_time . क्या है विधि करता है। आपकी स्ट्रिंग fallback_string_to_time से नीचे चली जाएगी पथ और वह जितना मैं बता सकता हूं, आंशिक सेकंड को सुरक्षित रखता है। कहीं और कुछ अजीब हो सकता है, रेल स्रोत में मैंने जो अजीब चीजें देखी हैं, विशेष रूप से चीजों के डेटाबेस पक्ष को देखते हुए मुझे आश्चर्य नहीं होगा। मैं स्ट्रिंग्स को ऑब्जेक्ट्स में हाथ से कनवर्ट करने का प्रयास करता हूं ताकि ActiveRecord अपने हाथों को उनसे दूर रखे।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक एसक्यूएल परिणाम ट्रांसपोज़ करना ताकि एक कॉलम एकाधिक कॉलम पर जा सके

  2. Postgres क्वेरी विंडो में पैरामीटर के साथ मेरे तदर्थ SQL का परीक्षण कैसे करें

  3. जांचें कि पोस्टग्रेज में अनुक्रम मौजूद है या नहीं (plpgsql)

  4. 8589934592 बाइट्स की अनुमत स्मृति आकार समाप्त हो गया

  5. पोस्टग्रेज में कॉलम को कई पंक्तियों में विभाजित करें