मैं PostgreSQL JDBC अनुकूलक का उपयोग कर रहा एक jsonb क्षेत्र में डेटा का एक समूह विस्थापित करने के लिए (postgres 9.4)।JSONb दिनांक: आंतरिक तिथियां आंतरिक रूप से?
आयात करने के बाद, दिनांक फ़ील्ड सही लग रही है लेकिन doublequotes से घिरा प्रदर्शित होते हैं। क्या यह बताने का कोई तरीका है कि क्या वे वास्तव में तारीख मूल्य के रूप में आंतरिक रूप से संग्रहीत हैं? अगर वे तार हैं, तो मुझे नहीं लगता कि रेंज लुकअप बहुत ही कुशल होंगे।
उदाहरण के लिए, एक properties
jsonb क्षेत्र में एक प्रविष्टि इस तरह दिखता है:
"founded_on": "Sep 1, 2012 12:00:00 AM",
मैं अब,
SELECT CAST(properties->>'founded_on' AS DATE
और
SELECT extract('year' from cast(properties->>'founded_on' as timestamp))
खोज सकते हैं कहते हैं,
और दोनों अच्छा काम है, लेकिन मुझे मत बताओ Postgres हर बार jsonb क्षेत्र में एक स्ट्रिंग मान reparsing है या नहीं, एक तारीख के रूप में।
मैं एक सूचकांक जहां मैं तारीखों के लिए इन मूल्यों डाली बना सकते हैं, और का उपयोग करें कि खोज करने के लिए है, लेकिन यह कुछ हद तक असजीला लगता है। मैं वास्तव में जानना चाहता हूं कि संग्रहीत मूल्य एक तिथि है। पूर्णांकों और तैरता इन के रूप में, उनकी वास्तविक देशी मूल्यों, नहीं तार प्रतीत:
shares_sold": 5900000,
"latitude": 33.561467,
कोई प्रतिक्रिया अत्यधिक सराहना की।
धन्यवाद, यह उत्तर उत्कृष्ट है। हम हर जगह unixtime का उपयोग करने जा रहे हैं। –
इसके अलावा, यहां [जेएसओएन स्पेक के लिए अनुमति प्रकार] (http://rfc7159.net/rfc7159) है, अगर किसी को इसका संदर्भ देने की आवश्यकता है। –