sql - टाइमस्टैम्प से मिलिसेकंड भाग निकाल दें



postgresql casting (1)

अंशकालिक सेकंड को हटाने के लिए इसे timestamp(0) या timestamptz(0) पर कास्ट करें:

SELECT now()::timestamp(0);

जैसे @कारलगोल्ड ने टिप्पणी की, यह राउंड पूर्ण सेकंड्स और आंशिक रूप से संग्रहीत नहीं किया जाता है यदि आप इस डेटा प्रकार के साथ काम करते रहें।

अधिक विशिष्ट आवश्यकताओं के लिए date_trunc() उपयोग करें

SELECT date_trunc('second', now()::timestamp);

यह कटौती (सेकंड अपरिवर्तित छोड़ देता है) इसके अलावा हेरफेर आंशिक सेकंड पुन: परिचय कर सकते हैं।

बेशक, आप दोनों को जोड़ सकते हैं - इस बार दूसरे भाग को भी निकालना :

SELECT date_trunc('minute', now())::timestamp(0);

लेकिन ध्यान रखें कि किसी भिन्न डेटा प्रकार के कॉलम या वेरिएबल को इस मान को असाइन करने के परिणामस्वरूप एक अन्य असाइनमेंट कास्ट हो सकता है।

मैं मिलिसेकंड भाग को कैसे समाप्त / गोल कर सकता / सकती हूं, बेहतर होगा कि second भाग को timestamp w / o timezone से भी हटा दिया जाए?





rounding