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

क्या जेडीबीसी ओरेकल डीबी में डालने से पहले तारीख को समायोजित करता है? मैं इसे कैसे न होने दूँ?

समस्या यह है कि जावा Date ऑब्जेक्ट एक समय क्षेत्र संग्रहीत नहीं करते हैं। मान हमेशा है यूटीसी में, और एक निश्चित समय क्षेत्र में पार्स और स्वरूपित किया जाता है, आमतौर पर जेवीएम का डिफ़ॉल्ट समय क्षेत्र।

Oracle Date कॉलम बिना समय क्षेत्र के भी संग्रहीत किए जाते हैं, लेकिन उपयोगकर्ता द्वारा देखी गई तारीख का प्रतिनिधित्व करना चाहिए। 99.99% मामलों में, इसका मतलब है कि JVM के डिफ़ॉल्ट समय क्षेत्र में दिनांक।

तो, JDBC ड्राइवर Timestamp लेता है / Date मान, जो यूटीसी में है, इसे डिफ़ॉल्ट समय क्षेत्र में परिवर्तित करता है, और इसे डेटाबेस में सहेजता है।

आप PreparedStatement.setTimestamp(int parameterIndex, Timestamp x) तरीका। समय क्षेत्र को नियंत्रित करने के लिए, PreparedStatement.setTimestamp(int parameterIndex, Timestamp x, Calendar cal) तरीका। जावाडोक का हवाला देते हुए:




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

  2. Oracle SQL PIVOT तालिका

  3. क्या Oracle विंडोज कमांड लाइन फंक्शन चला सकता है?

  4. पुरानी पंक्तियों को छोड़ कर स्वचालित रूप से अधिकतम डेटाबेस तालिका आकार को लागू करना

  5. Oracle डेटाबेस बैकअप का परिचय