सगढ - SQL 30 दिनों से अधिक पुराने सभी रिकॉर्ड प्राप्त करें




सीजी भूले बिसरे गीत (2)

कुछ इस तरह की कोशिश करें:

SELECT * from profiles WHERE to_timestamp(last_login) < NOW() - INTERVAL '30 days' 

मैनुअल से उद्धरण:

एकल-तर्क to_timestamp फ़ंक्शन भी उपलब्ध है; यह एक दोहरे सटीक तर्क को स्वीकार करता है और यूनिक्स युग से परिवर्तित होता है (1970-01-01 से 00:00 बजे: 00 + 00) समय क्षेत्र के साथ टाइमस्टैम्प। (पूर्णांक यूनिक्स युगों को स्पष्ट रूप से दोहरी सटीकता के लिए रखा गया है।)

अब मुझे एसओ के बहुत सारे समान प्रश्न मिल गए हैं, जिनमें मेरा एक पुराना प्रश्न भी शामिल है, लेकिन मैं जो करने की कोशिश कर रहा हूं, वह 30 दिनों से अधिक पुराना कोई भी रिकॉर्ड है लेकिन मेरा टेबल फ़ील्ड unix_timestamp है। अन्य सभी उदाहरण DateTime फ़ील्ड या कुछ और का उपयोग करते हैं। कुछ की कोशिश की और उन्हें काम करने के लिए नहीं मिला।

यह निश्चित रूप से नीचे काम नहीं करता है। इसके अलावा, मैं एक बीच की तारीख के बीच की तारीख नहीं चाहता, मैं डेटाबेस में संग्रहीत यूनिक्स टाइमस्टैम्प से 30 दिनों के बाद सभी रिकॉर्ड चाहता हूं। मैं निष्क्रिय उपयोगकर्ताओं की कोशिश कर रहा हूँ।

सरल उदाहरण .. काम नहीं करता है।

SELECT * from profiles WHERE last_login < UNIX_TIMESTAMP(NOW(), INTERVAL 30 DAY)  

और यह कोशिश की

SELECT * from profiles WHERE UNIX_TIMESTAMP(last_login - INTERVAL 30 DAY) 

जटिल तिथि प्रश्नों पर बहुत मजबूत नहीं है। किसी भी मदद की सराहना की है।






postgresql