Redshift परिचय
Jason Myers
Principal Architect
SYSDATE-- मौजूदा तिथि और समय लें
SELECT SYSDATE;
timestamp
============================
2024-01-27 20:05:55.976353
GETDATE(); कोष्ठक जरूरी-- मौजूदा तिथि और समय लें
SELECT GETDATE();
timestamp
============================
2024-01-27 20:06:55.976353
सिर्फ़ लीडर नोड पर चलने वाले फंक्शन से सावधान!
AGE की जगह DATEDIFFGETDATE/SYSDATE:CURRENT_TIMECURRENT_TIMESTAMPISFINITELOCALTIMELOCALTIMESTAMPNOWTRUNC टाइमस्टैम्प से डेट लौटाता है-- मौजूदा तिथि लें, आधार:
-- SYSDATE of 2024-01-27 20:05:55.976353
SELECT TRUNC(SYSDATE);
2024-01-27
DATE_TRUNC('datepart', timestamp) दिए गए datepart (जैसे hour/day) तक ट्रंक करता है-- घंटे तक ट्रंक करें, आधार:
-- SYSDATE of 2024-01-27 20:05:55.976353
SELECT DATE_TRUNC('minute', SYSDATE);
2024-01-27 20:05:55
DATE_PART(datepart, date or timestamp) -- मौजूदा महीना लें, आधार:
-- SYSDATE of 2024-01-27 20:05:55.976353
SELECT DATE_PART(month, SYSDATE);
1
month, day, year ही नहीं लौटा सकताdayofweek, quarter, timezone-- हफ्ते का दिन लें, आधार:
-- SYSDATE of 2024-01-27 20:05:55.976353
SELECT DATE_PART(dayofweek, SYSDATE);
6
DATE_CMP(date_1, date_2) सापेक्ष तुलना
date_1 पहले हो तो -1 लौटाता हैdate_1 बाद में हो तो 1 लौटाता हैटाइप-विशिष्ट फंक्शन
DATE_CMP_TIMESTAMPDATE_CMP_TIMESTAMPTZTIMESTAMP_CMPTIMESTAMP_CMP_TIMESTAMPTZTIMESTAMPTZ_CMP-- टेबल की 5 तिथियों की तुलना, आधार:
-- SYSDATE of 2024-01-27 20:05:55.976353
SELECT date_col,
TRUNC(SYSDATE) AS current_date,
DATE_CMP(date_col, SYSDATE)
FROM combined_history_projections
ORDER BY date_col
LIMIT 3;
date_col | current_date | date_cmp
===========|===============|==========
2024-01-26 | 2024-01-27 | -1
2024-01-27 | 2024-01-27 | 0
2024-01-28 | 2024-01-27 | 1
DATEDIFF(datepart, value_1, value_2)value_2 पहले हो तो निगेटिवvalue_2 बाद में हो तो पॉजिटिव-- पहली तिमाही के अंत तक के दिन, आधार:
-- SYSDATE of 2024-01-27 20:05:55.976353
SELECT DATEDIFF(day,TRUNC(SYSDATE),'2024-03-31') AS days_diff;
days_diff
===========
64
DATEADD(datepart, quantity, value)-- एक सप्ताह जोड़ें, आधार:
-- SYSDATE of 2024-01-27 20:05:55.976353
SELECT TRUNC(SYSDATE) AS todays_date,
TRUNC(DATEADD(week, 1, SYSDATE)) AS next_weeks_date;
todays_date | next_weeks_date
============|==================
2024-01-27 | 2024-02-03
-- किसी तिथि में महीने के हिसाब से वर्ष जोड़ें
SELECT DATEADD(month, 12, '2024-02-29');
2025-02-28 00:00:00
-- किसी तिथि में वर्ष के हिसाब से वर्ष जोड़ें
SELECT DATEADD(year, 1, '2024-02-29');
2025-03-01 00:00:00
Redshift परिचय