MySQL இல் தேதிகள் மற்றும் நேரங்களுடன் எவ்வாறு திறம்பட வேலை செய்வது

MySQL இல் தேதிகள் மற்றும் நேரங்களுடன் எவ்வாறு திறம்பட வேலை செய்வது

தேதிகள் மற்றும் நேரங்கள் முக்கியம், அவை பொருட்களை ஒழுங்கமைக்க உதவுகின்றன, மேலும் எந்த மென்பொருள் செயல்பாட்டின் ஒருங்கிணைந்த அம்சமாகும்.





தரவுத்தளத்தில் அவர்களுடன் திறமையாக வேலை செய்வது சில நேரங்களில் குழப்பமாகத் தோன்றலாம், அது பல்வேறு நேர மண்டலங்களில் வேலை செய்கிறதா, தேதிகளைச் சேர்த்தல் / கழித்தல் மற்றும் பிற செயல்பாடுகளைச் செய்கிறது.





உங்கள் தரவுத்தளத்தில் தேதிகள் / நேரங்களை எளிதாகக் கையாளவும் நிர்வகிக்கவும் பல்வேறு MySQL செயல்பாடுகளை அறியவும்.





நேர மண்டலங்களுடன் வேலை

விஷயங்களை தரப்படுத்த உதவுவதற்கு, நீங்கள் UTC நேர மண்டலத்தில் தேதிகள் / நேரங்களுடன் மட்டுமே வேலை செய்ய வேண்டும். ஒவ்வொரு முறையும் நீங்கள் MySQL தரவுத்தளத்துடன் இணைப்பை நிறுவும் போது, ​​நீங்கள் நேர மண்டலத்தை UTC க்கு மாற்ற வேண்டும், அதை பின்வரும் SQL அறிக்கையுடன் செய்யலாம்:

SET TIME_ZONE = '+0:00'

எல்லா தேதிகளும் இப்போது UTC இல் சேமிக்கப்படும் என்பதால், நீங்கள் என்ன வேலை செய்கிறீர்கள் என்பது உங்களுக்கு எப்போதும் தெரியும், மேலும் விஷயங்களை மிகவும் எளிமையாகவும் நேராகவும் மாற்றும்.



ஏன் என் விளையாட்டுகள் செயலிழக்கின்றன

தேவைப்படும்போது நீங்கள் எளிதாக செய்யலாம் நேர மண்டலத்தை மாற்றவும் கைவசம் உள்ள எந்த தேதிநேர / நேர முத்திரை மதிப்பு CONVERT_TZ () MySQL செயல்பாடு. நீங்கள் முதலில் ஆஃப்செட்டை தெரிந்து கொள்ள வேண்டும், எடுத்துக்காட்டாக, வட அமெரிக்காவின் மேற்கு கடற்கரையில் PST UTC -08: 00 ஆகும், எனவே நீங்கள் இதைப் பயன்படுத்தலாம்:

SELECT CONVERT_TZ('2021-02-04 21:47:23', '+0:00', '-8:00');

இதன் விளைவாக 2021-02-04 13:47:23 இது சரியாக உள்ளது. மூன்று வாதங்கள் நிறைவேற்றப்பட்டன CONVERT_TZ () முதலில் நீங்கள் தொடங்கும் தேதிநேரம் / நேர முத்திரை (தற்போதைய நேரத்திற்கு இப்போது பயன்படுத்தவும்), இரண்டாவது எப்போதும் இருக்கும் '+0: 00' அனைத்து தேதிகளும் தரவுத்தளத்தில் UTC க்கு கட்டாயப்படுத்தப்படுவதால், கடைசியாக நாங்கள் தேதியை மாற்ற விரும்புகிறோம்.





தேதிகளைச் சேர்க்கவும் / கழிக்கவும்

பல முறை நீங்கள் தேதிகளில் சேர்க்க வேண்டும் அல்லது கழிக்க வேண்டும், அதாவது ஒரு வாரத்திற்கு முந்தைய பதிவுகளை நீங்கள் மீட்டெடுக்க வேண்டும் அல்லது ஒரு மாதத்திற்கு ஏதாவது திட்டமிட வேண்டும்.

அதிர்ஷ்டவசமாக MySQL சிறந்தது DATE_ADD () மற்றும் DATE_SUB () இந்த பணியை மிகவும் எளிதாக்கும் செயல்பாடுகள். எடுத்துக்காட்டாக, SQL அறிக்கையுடன் தற்போதைய தேதியிலிருந்து இரண்டு வாரங்களைக் கழிக்கலாம்:





SELECT DATE_SUB(now(), interval 2 week);

அதற்கு பதிலாக நீங்கள் ஏற்கனவே இருக்கும் நேர முத்திரையில் மூன்று நாட்கள் சேர்க்க விரும்பினால், நீங்கள் இதைப் பயன்படுத்தலாம்:

SELECT DATE_ADD('2021-02-07 11:52:06', interval 3 day);

இரண்டு செயல்பாடுகளும் ஒரே மாதிரியாக செயல்படுகின்றன, முதல் வாதம் நீங்கள் தொடங்கும் நேர முத்திரை, மற்றும் இரண்டாவது வாதம் சேர்க்க அல்லது கழிப்பதற்கான இடைவெளி. இரண்டாவது வாதம் எப்போதும் வார்த்தையுடன் தொடங்கி அதே வடிவத்தில் இருக்கும் இடைவெளி ஒரு எண் மதிப்பு மற்றும் இடைவெளி, பின்வருவனவற்றில் ஏதேனும் இருக்கலாம்: இரண்டாவது, நிமிடம், மணி, நாள், வாரம், மாதம், காலாண்டு, வருடம்.

மற்றொரு எடுத்துக்காட்டுக்கு, கடந்த 34 நிமிடங்களில் ஏற்பட்ட அனைத்து உள்நுழைவுகளையும் நீங்கள் மீட்டெடுக்க விரும்பினால், நீங்கள் ஒரு SQL அறிக்கையைப் பயன்படுத்தலாம்:

SELECT * FROM logins WHERE login_date >= DATE_SUB(now(), interval 45 minute);

நீங்கள் பார்க்க முடியும் என, இது அனைத்து பதிவுகளையும் மீட்டெடுக்கும் உள்நுழைவுகள் தற்போதைய நேரம் கழித்து 45 நிமிடங்களுக்கு மேல் உள்ள உள்நுழைவு தேதியுடன் அட்டவணை, அல்லது வேறு வார்த்தைகளில் கூறுவதானால், கடந்த 45 நிமிடங்கள்.

தேதிகளுக்கு இடையே வேறுபாடு கிடைக்கும்

சில நேரங்களில் இரண்டு தேதிகளுக்கு இடையில் எவ்வளவு நேரம் கடந்துவிட்டது என்பதை நீங்கள் பெற வேண்டும். இரண்டு வெவ்வேறு தேதிகளுக்கு இடையில் உள்ள நாட்களின் எண்ணிக்கையை நீங்கள் எளிதாகப் பெறலாம் தேதி கீழே உள்ள SQL அறிக்கை போன்ற செயல்பாடு:

SELECT DATEDIFF(now(), '2020-12-15');

தி தேதி செயல்பாடு இரண்டு வாதங்களை எடுத்துக்கொள்கிறது, இவை இரண்டும் தேதி / நேர முத்திரைகள் மற்றும் அவற்றுக்கிடையே உள்ள நாட்களின் எண்ணிக்கையை அளிக்கிறது. மேலே உள்ள எடுத்துக்காட்டு டிசம்பர் 15, 2020 முதல் இன்று வரை கடந்த நாட்களின் எண்ணிக்கையைக் காட்டுகிறது.

இரண்டு தேதிகளுக்கு இடையில் வினாடிகளின் எண்ணிக்கையைப் பெற, தி TO_SECONDS () செயல்பாடு பயனுள்ளதாக இருக்கும், எடுத்துக்காட்டாக:

SELECT TO_SECONDS(now()) - TO_SECONDS('2021-02-05 11:56:41');

இது வழங்கப்பட்ட இரண்டு தேதிகளுக்கு இடையில் வினாடிகளின் எண்ணிக்கையை ஏற்படுத்தும்.

தேதிகளில் இருந்து பிரிவுகளை பிரித்தெடுக்கவும்

பல்வேறு MySQL செயல்பாடுகள் உள்ளன, அவை மாதங்களிலிருந்து, ஆண்டின் நாள் அல்லது மணிநேரத்தை மட்டுமே விரும்பினால், குறிப்பிட்ட பகுதிகளை தேதிகளிலிருந்து எளிதாகப் பிரித்தெடுக்க அனுமதிக்கிறது. அத்தகைய செயல்பாடுகளின் சில எடுத்துக்காட்டுகள் இங்கே:

SELECT MONTH('2021-02-11 15:27:52'); SELECT HOUR(now()); SELECT DAYOFYEAR('2021-07-15 12:00:00');

மேலே உள்ள SQL அறிக்கைகள் விளைவிக்கும் 02 தற்போதைய நேரம், மற்றும் 196 செப்டம்பர் 15 ஆண்டின் 196 வது நாளாகும். கிடைக்கக்கூடிய அனைத்து தேதி பிரித்தெடுத்தல் செயல்பாடுகளின் பட்டியல் இங்கே உள்ளது, ஒவ்வொன்றும் ஒரு வாதத்தை மட்டுமே எடுக்கிறது, தேதி பிரித்தெடுக்கப்பட்டது:

- SECOND()
- MINUTE()
- HOUR()
- DAY()
- WEEK() - Number 0 - 52 defining the week within the year.
- MONTH()
- QUARTER() - Number 1 - 4 defining the quarter of the year.
- YEAR()
- DAYOFYEAR() - The day of the year (eg. Sept 15th = 196).
- LAST_DAY() - The last day in the given month.
- DATE() - The date in YYYY-MM-DD format without the time.
- TIME() The time in HH:II:SS format without the date.
- TO_DAYS() - The number of days since A.D. 0.
- TO_SECONDS() - The number of seconds since A.D. 0.
- UNIX_TIMESTAMP() - The number of seconds since the epoch (Jan 1st, 1970)

எடுத்துக்காட்டாக, அனைத்து பயனர்களும் உருவாக்கப்பட்ட மாதம் மற்றும் ஆண்டை மட்டுமே நீங்கள் மீட்டெடுக்க விரும்பினால், நீங்கள் ஒரு SQL அறிக்கையைப் பயன்படுத்தலாம்:

SELECT id, MONTH(created_at), YEAR(created_at) FROM users;

இது அனைத்து பதிவுகளையும் மீட்டெடுக்கும் பயனர்கள் அட்டவணை மற்றும் ஐடி#, மாதம் மற்றும் ஆண்டு ஒவ்வொரு பயனர் உருவாக்கப்பட்டது காட்ட.

தேதி காலத்தின் அடிப்படையில் குழு பதிவுகள்

தேதி செயல்பாடுகளின் ஒரு சிறந்த பயன்பாடானது, தேதி காலத்தைப் பயன்படுத்தி குழு பதிவுகளைப் பயன்படுத்துவதற்கான திறன் ஆகும் குழு மூலம் உங்கள் SQL அறிக்கைகளுக்குள். எடுத்துக்காட்டாக, 2020 ஆம் ஆண்டில் மொத்த ஆர்டர்களின் மொத்த தொகையை மாத வாரியாக தொகுக்க நீங்கள் விரும்பலாம். நீங்கள் ஒரு SQL அறிக்கையைப் பயன்படுத்தலாம்:

SELECT MONTH(created_at), SUM(amount) FROM orders WHERE created_at BETWEEN '2020-01-01 00:00:00' AND '2020-12-31 23:59:59' GROUP BY MONTH(created_at);

இது 2020 ஆம் ஆண்டில் வழங்கப்பட்ட அனைத்து ஆர்டர்களையும் மீட்டெடுக்கும், அவை உருவாக்கப்பட்ட மாதத்திற்குள் குழுவாக்கப்பட்டு, ஆண்டின் ஒவ்வொரு மாதமும் ஆர்டர் செய்யப்பட்ட மொத்தத் தொகையைக் காட்டும் 12 பதிவுகளைத் தரும்.

தயவுசெய்து கவனிக்கவும், சிறந்த குறியீட்டு செயல்திறனுக்காக, இது போன்ற தேதி செயல்பாடுகளைப் பயன்படுத்துவதைத் தவிர்ப்பது எப்போதும் சிறந்தது ஆண்டு() எங்கு SQL அறிக்கைகளின் உட்பிரிவுக்குள், அதற்கு பதிலாக பயன்படுத்தவும் இடையில் மேலே உள்ள எடுத்துக்காட்டில் காட்டப்பட்டுள்ளபடி ஆபரேட்டர்.

மீண்டும் தேதிகளுடன் குழப்பமடைய வேண்டாம்

மேற்கண்ட அறிவைப் பயன்படுத்தி நீங்கள் இப்போது திறம்பட வேலை செய்ய முடியும், மொழிபெயர்க்கலாம் மற்றும் பரந்த அளவிலான பயன்பாட்டு நிகழ்வுகளில் தேதிகள் மற்றும் நேரங்களில் செயல்பாடுகளைச் செய்யலாம்.

எளிமைக்காக தேதிகளுடன் பணிபுரியும் போது எப்போதும் UTC ஐப் பயன்படுத்த நினைவில் கொள்ளுங்கள், மேலும் உங்கள் மென்பொருளில் உள்ள தேதிகளை திறம்பட நிர்வகிக்க மேற்கண்ட குறிப்புகளைப் பயன்படுத்தவும், இது எளிமையான கணக்கீடுகளை முடித்தாலும் அல்லது தேதி காலங்களால் தொகுக்கப்பட்ட அறிக்கைகளை எளிதாக இழுத்தாலும் சரி.

நீங்கள் SQL க்கு ஓரளவு புதியவராக இருந்தால், இவற்றைச் சரிபார்க்கவும் அத்தியாவசிய SQL கட்டளைகள் உங்கள் SQL பயன்பாட்டை மேம்படுத்த உதவும்.

பகிர் பகிர் ட்வீட் மின்னஞ்சல் மைக்ரோசாஃப்ட் வேர்டில் தொழில்முறை அறிக்கைகள் மற்றும் ஆவணங்களை உருவாக்குவது எப்படி

இந்த வழிகாட்டி ஒரு தொழில்முறை அறிக்கையின் கூறுகளை ஆராய்கிறது மற்றும் மைக்ரோசாஃப்ட் வேர்டில் உங்கள் ஆவணத்தை கட்டமைத்தல், ஸ்டைலிங் மற்றும் இறுதி செய்தல் ஆகியவற்றை மதிப்பாய்வு செய்கிறது.

அடுத்து படிக்கவும்
தொடர்புடைய தலைப்புகள் எழுத்தாளர் பற்றி மாட் டிஸாக்(18 கட்டுரைகள் வெளியிடப்பட்டன) மேட் டிஸாக் இருந்து மேலும்

எங்கள் செய்திமடலுக்கு குழுசேரவும்

தொழில்நுட்ப குறிப்புகள், மதிப்புரைகள், இலவச மின் புத்தகங்கள் மற்றும் பிரத்யேக ஒப்பந்தங்களுக்கு எங்கள் செய்திமடலில் சேரவும்!

குழுசேர இங்கே சொடுக்கவும்