2011-12-01 24 views
25

चारों ओर घूमने के बाद, मुझे DATETIME कॉलम के साथ डिफ़ॉल्ट प्रारूप सेट के साथ एक नई तालिका बनाने का कोई तरीका नहीं मिल रहा है 'DD-MM-YYYY HH:MM:SS'MySQL: DATETIME के ​​प्रारूप को 'डीडी-एमएम-वाईवायवाई एचएच: एमएम: एसएस' में एक टेबल बनाते समय

को मैं एक ट्यूटोरियल है जिसमें यह phpmyadmin में किया गया था देखा तो मुझे लगता है कि मैं कमांड लाइन के माध्यम से mysql का उपयोग करें और एक ही बात को प्राप्त कर सकता है जब

CREATE TABLE() 

के साथ मेरी नई तालिका बनाने धन्यवाद अग्रिम में

+0

मैं तालिका बनाने के दौरान धन्यवाद आप के लिए जवाब है, मैं एक तरह से प्रारूप है कि मैं चाहता हूँ प्राप्त करने के लिए के रूप में DATE_FORMAT समारोह के बारे में पढ़ा आप प्रारूप – Rahul

उत्तर

40

"MySQL 'YYYY-MM-DD HH: MM: SS' प्रारूप में DATETIME मान पुनर्प्राप्त और प्रदर्शित करता है।" यह mysql साइट से है। आप केवल इस प्रकार को स्टोर कर सकते हैं, लेकिन जब आप इसे प्रदर्शित करने की आवश्यकता होती है, तो आप इसे बदलने के लिए कई बार प्रारूप फ़ंक्शंस का उपयोग कर सकते हैं।

Mysql Time and Date functions

उदाहरण के लिए, उन कार्यों में से एक DATE_FORMAT है, जो इतनी पसंद करने के लिए इस्तेमाल किया जा सकता है:

SELECT DATE_FORMAT(column_name, '%m/%d/%Y %H:%i') FROM tablename 
+0

आपको बहुत धन्यवाद –

+1

PHP की 'date() 'फ़ंक्शन का उपयोग करके वर्तमान डेटाटाइम प्राप्त करने के लिए,' दिनांक (" वाई-एम-डी एच: i: s ") का उपयोग करें। – Carcigenicate

16

DATE_F का उपयोग करें प्रारूप बदलने के लिए ORMAT फ़ंक्शन।

SELECT DATE_FORMAT(CURDATE(), '%d/%m/%Y') 

SELECT DATE_FORMAT(column_name, '%d/%m/%Y') FROM tablename 

अधिक जानकारी के

4

मैं बहुत कुछ है कि आप mysql में दिनांक प्रारूप को बदल नहीं सकते कर रहा हूँ के लिए DOC देखें। Phpmyadmin सेटिंग शायद एक कस्टम प्रारूप लागू कर रही है क्योंकि यह डेटाटाइम पढ़ती है (DATE_FORMAT या php से कुछ का उपयोग करके)। इससे कोई फर्क नहीं पड़ता कि डेटाबेस किस प्रारूप का उपयोग करता है, एप्लिकेशन में प्रारूप को प्रदर्शित करने के लिए प्रारूपित करें।

दिनांक स्वरूपण एक बहुत ही आम कार्य है। मैं आम तौर पर अंतर्राष्ट्रीयकरण कोड में इसे सारणित करना चाहता हूं या, यदि आपको i18n से निपटने की आवश्यकता नहीं है, तो एक सामान्य दिनांक उपयोगिता लाइब्रेरी में। यह चीजों को सुसंगत रखने में मदद करता है और बाद में इसे बदलना आसान बनाता है (या i18n समर्थन जोड़ें)।

+0

बदल सकते हैं नहीं लगता। –

2

नहीं, तुम नहीं कर सकते हैं, डेटाटाइम केवल तालिका बनाने के दौरान डिफॉल्ट प्रारूप में संग्रहीत किया जाएगा और फिर आप select में डिस्प्ले प्रारूप को बदल सकते हैं जिस तरह से आप Mysql Date Time Functions

2

का उपयोग कर क्वेरी के लिए नहीं किया जा सकता है; इसके अलावा, आप इस डिफ़ॉल्ट मान को भी बिल्कुल नहीं बदल सकते हैं।

उत्तर एक सर्वर चर datetime_format है, यह अप्रयुक्त है।

2
Dim x as date 

x = dr("appdate") 
appdate = x.tostring("dd/MM/yyyy") 

डॉ DataReader की चर रहा है

0

इस प्रयास करें: यह

DATE NOT NULL FORMAT 'YYYY-MM-DD' 
5

के रूप में दूसरों को समझा दिया है कि यह संभव नहीं है, लेकिन यहाँ वैकल्पिक समाधान है, यह एक छोटे से ट्यूनिंग आवश्यकता है, लेकिन डेटाटाइम कॉलम की तरह काम करता है।

मुझे लगता है कि मैं फ़ॉर्मेटिंग कैसे संभव बना सकता हूं। मुझे एक विचार आया है। इसके लिए ट्रिगर बनाने के बारे में क्या? मेरा मतलब है, टाइप char के साथ कॉलम जोड़ना, और फिर एक MySQL ट्रिगर का उपयोग करके उस कॉलम को अपडेट करना। और वह काम किया!मैं इन प्रश्नों के साथ आने के कुछ चलाता से संबंधित अनुसंधान किया जाता है, और अंत:

CREATE TRIGGER timestampper BEFORE INSERT ON table 
FOR EACH 
ROW SET NEW.timestamp = DATE_FORMAT(NOW(), '%d-%m-%Y %H:%i:%s'); 
CREATE TRIGGER timestampper BEFORE UPDATE ON table 
FOR EACH 
ROW SET NEW.timestamp = DATE_FORMAT(NOW(), '%d-%m-%Y %H:%i:%s'); 

आप एक स्तंभ प्रकार के रूप में TIMESTAMP या DATETIME उपयोग नहीं कर सकते, क्योंकि इन को अपने स्वयं के प्रारूप है, और वे स्वचालित रूप से अपडेट करें।

तो, यहां आपका वैकल्पिक टाइमस्टैम्प या डेटाटाइम विकल्प है! उम्मीद है कि इससे मदद मिली, कम से कम मुझे खुशी है कि मुझे यह काम मिल गया। कोड & की निम्न पंक्ति

5

मैं का इस्तेमाल किया है यह ठीक धन्यवाद .... @Mithun शशिधरन **

चयन DATE_FORMAT (स्तंभ, '% d /% एम /% वाई') tablename से काम करता है

**

संबंधित मुद्दे

 संबंधित मुद्दे