मुझे अपने mysql डेटाबेस, उपयोगकर्ताओं के जन्मदिन (जैसे 12-11-1990
) में स्टोर करना होगा।जन्मदिन को स्टोर करने का सबसे अच्छा क्षेत्र क्या है?
स्टोर करने के लिए मुझे किस क्षेत्र प्रकार का उपयोग करना है?
मुझे अपने mysql डेटाबेस, उपयोगकर्ताओं के जन्मदिन (जैसे 12-11-1990
) में स्टोर करना होगा।जन्मदिन को स्टोर करने का सबसे अच्छा क्षेत्र क्या है?
स्टोर करने के लिए मुझे किस क्षेत्र प्रकार का उपयोग करना है?
किसी दिनांक को संग्रहीत करने के लिए, आपको शायद use a date होना चाहिए। दस्तावेज़ीकरण उद्धृत करने के लिए:
दिनांक प्रकार का उपयोग दिनांक भाग के साथ मानों के लिए किया जाता है लेकिन कोई समय नहीं होता है।
DATE बहुत स्पष्ट है?
ऑर्नेरी होने की कोई ज़रूरत नहीं है .... (मैंने डाउनवोट नहीं किया ...) –
उत्सुक लोगों ने इसका अर्थ कैसे लिया। मैं वास्तव में इसे पढ़ता हूं "क्या यह आपकी तारीख की तारीख नहीं है जैसा कि यह स्पष्ट प्रतीत होता है?"। @Jason को उसके जवाब के बारे में संदेह हो सकता है। नतीजतन मुझे संदेह का लाभ देने के लिए मेरे लिए +1। –
"DATE" अच्छा होना चाहिए।
दिनांक प्रकार का उपयोग दिनांक भाग वाले मानों के लिए किया जाता है लेकिन कोई समय नहीं होता है। MySQL 'YYYY-MM-DD' प्रारूप में DATE मानों को पुनर्प्राप्त और प्रदर्शित करता है। समर्थित सीमा '1000-01-01' से '9999-12-31' है।
अधिक विवरण: http://dev.mysql.com/doc/refman/5.5/en/datetime.html
आप इसे DATE
ऑब्जेक्ट के रूप में स्टोर कर सकते हैं जैसा कि आप आमतौर पर गैर-दोहराने वाली तिथियों के साथ करते हैं। , अगर आप MySQL का उपयोग कर रहे (मेरा मानना है कि अन्य डीबीएमएस भी इस के लिए कार्य किया है) आप MySQL कार्यों का उपयोग कर जन्मदिन प्राप्त कर सकते हैं के रूप में वर्णित here:
SELECT *
FROM table_name
WHERE
MONTH(date_field) = desired_month AND
DAY(date_field) = desired_day
इस विधि थोड़ा धीमा हो सकता है जब रिकॉर्ड के हजारों के साथ काम । यदि यह आपका मामला है, तो आप जन्मदिन को 3 अलग-अलग आईएनटी के साथ स्टोर कर सकते हैं, प्रत्येक के लिए प्रत्येक (वर्ष, महीना, दिन)। तो फिर तुम इस तरह जन्मदिन खोज:
SELECT *
FROM table_name
WHERE
month_field = desired_month AND
day_field = desired_day
आप यह पिछले विधि का उपयोग करते हैं, तो मैं आपको सलाह देंगे भी जन्मदिन की एक DATETIME संस्करण स्टोर करने के लिए इतना है कि आप युद्धाभ्यास के किसी भी प्रकार के बिना तारीख बना सकते हैं। आप अतिरिक्त रूप से 3 फ़ील्ड (गैर-अद्वितीय) में से प्रत्येक को इंडेक्स कर सकते हैं ताकि उन्हें पुनर्प्राप्त करना तेज़ हो।
फरवरी को शामिल करें। गैर-लीप वर्षों के लिए 1 मार्च को 2 9 वें जन्मदिन। –
क्या आपका मतलब है कि किस प्रकार का प्रकार 'दिनांक' – mgraph
DATE यह करेगा :) –
व्यक्तिगत रूप से मुझे टाइमस्टैम्प पसंद है, लेकिन आपको शायद ओज़ी के उत्तर के साथ जाना चाहिए, MYSQL DATE जाने का आधिकारिक तरीका है। –