मुझे STIMING
में डालना है एक समय
Oracle के पास कोई TIME
नहीं है डेटा प्रकार। DATE
डेटा प्रकार हमेशा आंतरिक रूप से 7-बाइट्स के रूप में संग्रहीत होता है और हमेशा वर्ष (2-बाइट्स) और महीने, दिन, घंटे, मिनट और सेकंड (प्रत्येक 1-बाइट) से बना होता है।
आप नहीं DATE
. का कोई वर्ष, महीना या दिन घटक नहीं है ।
यदि आप अपने आप में एक समय चाहते हैं तो आपको इसे एक अलग डेटा प्रकार के रूप में स्टोर करना होगा या वर्ष/माह/दिन स्टोर करना होगा और उस घटक को अनदेखा करना होगा।
जब आप SELECT
STIMING
कॉलम यह समय घटक नहीं दिखा रहा है। आप डिफ़ॉल्ट दिनांक प्रारूप को बदलकर इसे बदल सकते हैं जो NLS_DATE_FORMAT
में सेट है सत्र पैरामीटर।
आप इस पैरामीटर का उपयोग करके समीक्षा कर सकते हैं:
SELECT VALUE FROM NLS_SESSION_PARAMETERS WHERE PARAMETER = 'NLS_DATE_FORMAT';
आप इस मान को अपने वर्तमान सत्र में निम्न का उपयोग करके सेट कर सकते हैं:
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';
(नोट:यह किसी अन्य उपयोगकर्ता के लिए मान नहीं बदलता है।)
जब आप वह तिथि डालते हैं जिसका आप उपयोग कर सकते हैं:
INSERT INTO shift ( SNO, SNAME, STIMING)
VALUES ( 121323, 'morning', TO_DATE( '01-APR-2017 07:00' DD-MON-YYYY HH24:MI' ) )
या, एक एएनएसआई TIMESTAMP
शाब्दिक (जो परोक्ष रूप से DATE
. पर डाला जाएगा) कॉलम का प्रारूप):
INSERT INTO shift ( SNO, SNAME, STIMING)
VALUES ( 121323, 'morning', TIMESTAMP '2017-04-01 07:00:00' )