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

अंतराल प्रकार को एचएच:एमएम प्रारूप में कैसे प्रारूपित करें?

मेरा मानना ​​है कि स्ट्रिंग मान में हेरफेर करना सबसे आसान और सरल उपाय है, इसलिए मैं एक वैकल्पिक समाधान प्रस्तुत करूंगा।

इंटरवल डे टू सेकेंड डेटा टाइप और कॉलम की परिभाषा से START_TIME आपके प्रश्न में, स्तंभ मान एक दिन से अधिक नहीं हो सकते हैं और न ही उनमें भिन्नात्मक सेकंड हो सकते हैं।

Oracle से JDBC दस्तावेज़ , डेटाटाइप INTERVAL DAY TO SECOND जावा वर्ग के लिए मानचित्र oracle.sql.INTERVALDS . (यह Oracle JDBC ड्राइवर JAR फ़ाइल की कक्षाओं में से एक है।)

javadoc से कक्षा के oracle.sql.INTERVALDS :

आप जानते हैं कि केवल बाइट 4, 5 और 6 कॉलम की परिभाषा के कारण प्रासंगिक हैं START_TIME , यानी शून्य दिन और शून्य भिन्नात्मक सेकंड। लेकिन चूंकि आपने अपने प्रश्न में लिखा है कि आप सेकंड को अनदेखा कर रहे हैं, इसका मतलब है कि केवल बाइट 4 और 5 प्रासंगिक हैं। इसलिए ResultSet . से मान प्राप्त करने के लिए कोड और इसे अपने इच्छित प्रारूप में एक स्ट्रिंग में परिवर्तित करना है:

INTERVALDS intervalDS = (INTERVALDS) rs.getObject("START_TIME");
byte[] bytes = intervalDS.toBytes();
int hour = bytes[4] - 60;
int minute = bytes[5] - 60;
String result = String.format("%02d:%02d", hour, minute);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle अनुक्रमणिका अशक्त स्तंभ मान कब करता है?

  2. ANTLR4 के साथ शामिल PL/SQL व्याकरण का परीक्षण कैसे किया जा सकता है?

  3. ऑरैकल में 30 मिनट के रूप में वृद्धि मूल्य के साथ डेटाटाइम मान को कैसे बढ़ाया जाए?

  4. ओरेकल डेटटाइम कहां क्लॉज में?

  5. Oracle में विदेशी कुंजी निर्माण मुद्दा