Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL दिनांक प्रारूप - आपको क्या जानना चाहिए

MySQL 'My'- कोफ़ाउंडर की बेटी और SQL- स्ट्रक्चर्ड क्वेरी लैंग्वेज से लिया गया है। यह एक ओपन-सोर्स प्रकार का रिलेशनल डेटाबेस मैनेजमेंट सिस्टम है। यह रिलेशनल डेटाबेस सिस्टम डेटा को संबंधित तालिकाओं में व्यवस्थित करने में मदद करता है, जिससे विभिन्न डेटा सेट के संरचनात्मक संबंधों को सक्षम बनाता है।

MySQL दिनांक अस्थायी डेटा प्रकारों में से एक है जो अन्य डेटा प्रकारों जैसे संख्यात्मक डेटा प्रकार, स्ट्रिंग डेटा प्रकार, बूलियन डेटा प्रकार, दिनांक और समय और स्थानिक डेटा प्रकारों के साथ डेटा मानों को प्रबंधित कर सकता है।

DATE_FORMAT () फ़ंक्शन का उपयोग MySQL में निर्दिष्ट प्रारूप मान का उपयोग करके दिनांक को प्रारूपित करने के लिए किया जाता है। उदाहरण के लिए, यदि कोई तिथि प्रदान की जाती है, तो फ़ंक्शन इसे निर्दिष्ट मापदंडों से संबंधित प्रारूपित करेगा।

MySQL दिनांक स्वरूप सिंटैक्स

DATE_FORMAT(date, format)

ऊपर दिए गए सिंटैक्स फ़ंक्शन दो पैरामीटर स्वीकार करते हैं जैसा कि नीचे दिखाया गया है:

  • तारीख - यह स्वरूपित होने की तारीख निर्दिष्ट करता है
  • प्रारूप - यह तारीख को प्रारूपित करने के लिए उपयोग किए जाने वाले प्रारूप को परिभाषित करता है

नीचे उन स्वरूपों की सूची दी गई है जिनसे आपको दिनांक फ़ंक्शन के साथ व्यवहार करते समय स्वयं को परिचित करना चाहिए।

  • %a - यह प्रारूप कार्यदिवस का नाम प्रदर्शित करता है। यह रविवार से शनिवार तक सीमित है।
  • %b - यह प्रारूप प्रतीक महीने का नाम दर्शाता है। यह जनवरी से दिसंबर तक प्रतिबंधित है।
  • %c - यह प्रारूप प्रतीक संख्यात्मक महीने के नाम को दर्शाता है। यह 0 से 12 तक सीमित है
  • %D - यह प्रारूप प्रतीक महीने के दिन का संख्यात्मक मान दिखाता है और उसके बाद पहला या दूसरा प्रत्यय होता है।
  • %e - यह प्रारूप प्रतीक महीने के दिन का संख्यात्मक मान दिखाता है। यह 0 से 31 तक सीमित है
  • %f - यह प्रारूप प्रतीक माइक्रोसेकंड दिखाता है। यह 000000 से 999999 तक सीमित है।
  • %H - यह प्रारूप प्रतीक घंटे को इंगित करता है। यह 00 से 23 तक सीमित है।
  • %i - यह प्रारूप प्रतीक मिनट दिखाता है। यह 00 से 59 तक सीमित है।
  • %j - यह प्रारूप प्रतीक वर्ष के दिन को दर्शाता है। यह 001 से 366 तक सीमित है।
  • %M - यह प्रारूप प्रतीक महीने के नाम को दर्शाता है। यह जनवरी से दिसंबर तक सीमित है
  • %p - यह प्रारूप प्रतीक PM या AM दिखाता है
  • %S - यह प्रारूप प्रतीक सेकंड दिखाता है। यह 00 से 59 तक सीमित है
  • %U - यह प्रारूप प्रतीक सप्ताह के दिनों को दर्शाता है जहां रविवार पहला दिन है। यह 00 से 53 तक सीमित है।
  • %W - यह प्रारूप प्रतीक रविवार से शनिवार तक सप्ताह के दिनों को दर्शाता है
  • %Y - यह प्रारूप प्रतीक वर्ष के संख्यात्मक मान को 4-अंकीय संख्या के रूप में दर्शाता है

ऊपर सूचीबद्ध प्रारूप एक स्वरूपित दिनांक लौटाते हैं।

उदाहरण 1: 

वर्तमान तिथि से वर्ष निकालने या दिखाने के लिए, हम निम्नलिखित कमांड लाइन निष्पादित करेंगे:

SELECT DATE_FORMAT("2021-09-25", "%Y");
आउटपुट:
उदाहरण 2:

नीचे दिखाए गए अनुसार दी गई तारीख से महीने का नाम निकालें:

2021-09-25

SELECT DATE_FORMAT("2021-09-25", "%M");
आउटपुट:
उदाहरण 3:

नीचे दी गई तारीख से घंटे और मिनट निकालें:

2021-09-25

SELECT DATE_FORMAT("2021-09-25 10:20:23", "%H %i");
आउटपुट:
उदाहरण 4: 

नीचे निर्दिष्ट तिथि से महीने के दिन को संख्यात्मक रूप से निकालें:

2021-09-25

SELECT DATE_FORMAT("2021-09-25", "%D");
आउटपुट:
उदाहरण 5:

यहां दी गई तारीख से क्रमशः माह, दिन और वर्ष निकालें:

2021-09-25

SELECT DATE_FORMAT("2021-09-25", "%M %d %Y");
आउटपुट:

MySQL दिनांक प्रारूप का उपयोग करता है; yyyy-mm-dd डेटा मान संग्रहीत करने के लिए, और यह प्रारूप आमतौर पर इसे बदलने की अनुमति के बिना तय किया जाता है। MySQL की भंडारण आवश्यकताओं के लिए, एकल दिनांक मान को संग्रहीत करने के लिए, यह लगभग 3 बाइट्स का उपयोग करेगा और इसका दिनांक मान 1000-01-01 से 9999-12-31 तक होगा। इसलिए, एक उपयोगकर्ता जिसे इन मापदंडों में से एक तिथि सीमा को संग्रहीत करने की आवश्यकता होती है, वह केवल पूर्णांकों के माध्यम से संभव हो सकता है। हालांकि, यह प्रक्रिया काफी कर लगाने वाली है, और इसके लिए आपको तीन कॉलम बनाने होंगे, एक साल के लिए, दूसरा महीने के लिए, और आखिरी दिन के लिए।

यदि आप दिनांक स्वरूप बदलना चाहते हैं, तो अधिकांश अवसरों पर इसे आज़माने की अनुशंसा नहीं की जाती है। 'सख्त मोड' को अक्षम करने से किसी भी अमान्य तिथि को 'शून्य दिनांक मान' में बदलने में मदद मिलेगी। इस उदाहरण में एक अमान्य तिथि मानक MySQL दिनांक प्रारूप का पालन नहीं करेगी, उदाहरण के लिए, 2020-01-24। यह 'संग्रहीत कार्यों' को विकसित करने की आवश्यकता भी पैदा करेगा, जो MySQL के नव निर्मित दिनांक कार्यों को पुन:उत्पन्न करेगा।

MySQL दिनांक मान 2-अंकीय वर्षों के साथ

MySQL निम्न शर्तों के तहत केवल दो-अंकीय वर्ष मान स्वीकार करेगा:

  1. 00-69 के बीच के वर्ष मान 2000-2069 में बदल दिए जाते हैं
  2. 70-79 के बीच के वर्ष मान 1970-1999 में परिवर्तित किए जाते हैं

हालांकि, दो अंकों के साथ दिनांक मानों का उपयोग करने से बचने की सलाह दी जाती है क्योंकि यह अस्पष्ट है।
यहां एक उदाहरण दिया गया है। 'लोग' नाम से एक टेबल बनाई जाती है और इसमें 'डेटा प्रकार' कॉलम होते हैं:

CREATE TABLE IF NOT EXISTS people ( 
JOB_ID integer NOT NULL UNIQUE PRIMARY KEY, 
JOB_TITLE varchar(35) NOT NULL DEFAULT ' ', 
MIN_SALARY decimal(6,0) DEFAULT 8000, 
MAX_SALARY decimal(6,0) DEFAULT NULL
)ENGINE=InnoDB;

निम्न फ़ंक्शन 'लोगों' तालिका में 'एक पंक्ति सम्मिलित करेगा':

INSERT INTO people(JOB_ID, JOB_TITLE, MIN_SALARY, MAX_SALARY)
VALUES('5', 'Foss', '2000', '2000');

अब 'लोग' टेबल से 'डेटा को क्वेरी करें'

SELECT * FROM people;

उपरोक्त आदेशों को चलाने के बाद, अब 'लोगों' तालिका में डेटा सम्मिलित करने के लिए 2-अंकीय वर्ष प्रारूप विकल्प का उपयोग करना संभव होगा:

INSERT INTO people(JOB_ID,JOB_TITLE,MIN_SALARY,MAX_SALARY,BIRTH)
VALUES('6', 'FOSSLINUX', '200', '2000', '01-09-01');

वर्ष के रूप में पहली पंक्ति में '01' का उपयोग किया गया है, जो (रेंज 00-69) के बीच में आता है। इसके बाद MySQL इसे 2001 में बदल देगा, जबकि दूसरी पंक्ति में, '84' ​​का उपयोग रेंज (70-99) में आता है, और MySQL इसे 1984 में बदल देता है।

MySQL दिनांक कार्य करता है

MySQL अक्सर कई दिनांक फ़ंक्शन प्रदान करता है और उनका उपयोग करता है, जो उपयोगकर्ताओं को अपने डेटा को अधिक प्रभावी ढंग से और तेज़ी से हेरफेर करने में मदद करता है।
उदाहरण के लिए, 'नाउ ()' फ़ंक्शन का उपयोग करने से वर्तमान दिनांक और समय प्राप्त करने में मदद मिलती है:

SELECT NOW( );

'DATETIME' का केवल दिनांक भाग प्राप्त करने के लिए, केवल 'DATE ()' फ़ंक्शन का उपयोग करें:

SELECT DATE(NOW( ) );

वर्तमान सिस्टम तिथि प्राप्त करने के लिए, CURDATE ( ) का उपयोग करें:

SELECT CURDATE();

इस प्रारूप में दिनांक मान को प्रारूपित करने के लिए 'DATE_FORMAT' फ़ंक्शन का उपयोग किया जा सकता है; मिमी/दिन/वर्ष। यह %m/%d/%Y

. के दिनांक स्वरूप पैटर्न का उपयोग करता है
SELECT DATE_FORMAT('2021-09-25 22:23:00', '%W %D %M %Y');

यदि आप दो दिनांक मानों के बीच दिनों की संख्या की गणना करना चाहते हैं, तो 'DATEDIFF' फ़ंक्शन का उपयोग करें:

mysql> SELECT DATEDIFF('2020-09-25', '2021-09-25') days;

'DATE_ADD' फ़ंक्शन का उपयोग करने से व्यक्ति को कई वर्ष, महीने, सप्ताह या दिन जोड़ने में मदद मिलती है:

SELECT DATE_ADD('2021-09-25', INTERVAL 31 DAY);

दिनांक अंतराल घटाने के लिए 'DATE_SUB' फ़ंक्शन का भी उपयोग किया जा सकता है:

SELECT DATE_SUB("2021-09-25", INTERVAL 10 DAY);

दिनांक, माह, तिमाही और वर्ष के संदर्भ में संबंधित फ़ंक्शन का उपयोग करने से आपको नीचे दिखाए गए दिनांक मान के लिए सटीक दिन, माह, वगैरह प्राप्त करने में मदद मिलेगी:

SELECT DAY(‘2000-12-31’) day,
MONTH( ‘2000-12-31’) month
QUARTER(‘2000-12-31’) quarter,
YEAR(‘2000-12-31’) year

Day ǀ month ǀ quarter ǀ year ǀ
31 ǀ 12 ǀ 4 ǀ 2000ǀ

संबंधित कार्यों की साप्ताहिक जानकारी के माध्यम से पहुँचा जा सकता है:

SELECT
WEEKDAY(‘2000-12-31’) weekday,
WEEK( ‘2000-12-31’) week,
WEEKOFTHEYEAR(‘2000-12-31’) weekofyear;

weekday ǀ week ǀ weekofyear ǀ
6 ǀ 53 ǀ 52 ǀ

वीक फंक्शन हमेशा एक वीक नंबर देता है जिसमें शून्य-आधारित इंडेक्स होता है। ऐसा होने से रोकने के लिए आपको दूसरा तर्क पारित करना होगा या '0' पास करना होगा। '1' पास करने से सप्ताह संख्या '1-अनुक्रमित' वापस आ जाएगी।

WEEKDAY(‘2000-12-31’) weekday,
WEEK( ‘2000-12-31’, 1) week,
WEEKOFTHEYEAR(‘2000-12-31’) weekofyear;

weekday ǀ week ǀ weekofyear ǀ
6 ǀ 52 ǀ 52 ǀ

निष्कर्ष

यह एक छोटा लेख ट्यूटोरियल है जो विषय MySQL दिनांक प्रारूप को कवर करता है। हम आशा करते हैं कि MySQL दिनांक स्वरूपों के बारे में आप जिन पहलुओं से परिचित होना चाहते थे, उन्हें कवर कर लिया गया है। अगर आपको लेख मददगार लगता है, तो टिप्पणी अनुभाग के माध्यम से अंगूठा देना न भूलें।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql तालिका नाम में (-) डैश का उपयोग करना

  2. MySQL में टाइमस्टैम्प को डेटाटाइम में कैसे बदलें?

  3. मैक ओएस एक्स पर MySQL पायथन स्थापित करना

  4. MySQL त्रुटि 1170 (42000):BLOB/TEXT कॉलम बिना कुंजी लंबाई के कुंजी विशिष्टता में प्रयुक्त

  5. MySQL 8.0 में नई विश्लेषणात्मक विंडो कार्यों की समीक्षा