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

मैं तैयार बयान के साथ पोस्टग्रेस्क्ल में टाइमज़ोन के साथ टाइमस्टैम्प कैसे डाल सकता हूं?

मूल समस्या यह है कि java.sql.Timestamp में समयक्षेत्र की जानकारी नहीं होती है। मुझे लगता है कि इसे हमेशा "स्थानीय समयक्षेत्र" माना जाता है।

समाधान पर मैं सोच सकता हूं कि एक रेडीस्टेडमेंट में पैरामीटर का उपयोग नहीं करना है, लेकिन एसक्यूएल में एक टाइमज़ोन शाब्दिक है:

update foo
  set ts_col = timestamp with time zone '2012-08-24 14:00:00 +02:00'`;

एक अन्य संभावित समाधान यह हो सकता है कि to_timestamp():

का उपयोग करने वाले एक तैयार स्थिति में उचित रूप से स्वरूपित स्ट्रिंग को पास किया जाए।
String sql = "update foo set ts_col = to_timestamp(?, 'yyyy-mm-dd hh24:mi:ss')"; 
PreparedStatement pstmt = connection.prepareStatement(sql);
pstmt.setString(1, "2012-08-24 14:00:00 +02:00");


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL में समय मान में घंटे जोड़ें

  2. Ubuntu 16.04 पर PostgreSQL डेटाबेस बनाना और हटाना

  3. PostgreSQL तालिका चर

  4. अगली प्राथमिक कुंजी की गणना करें - विशिष्ट प्रारूप की

  5. PostgreSQL:भूमिका को लॉग इन करने की अनुमति नहीं है