3.1 தேதி மற்றும் நேரத்துடன் வேலை செய்வதற்கான செயல்பாடுகளின் பட்டியல்
தேதி மற்றும் நேரம் தரவுத்தளங்களில் சேமிக்கப்படும் தரவுகளின் பொதுவான வகைகளில் ஒன்றாகும். அதனால்தான் அவர்களுடன் பணிபுரியும் செயல்பாடுகளின் பட்டியல் மிகப் பெரியது. மிகவும் பிரபலமானவை இங்கே:
# | செயல்பாடு | விளக்கம் |
---|---|---|
1 | CURDATE() | தற்போதைய தேதியை வழங்குகிறது |
2 | CURTIME() | தற்போதைய நேரத்தை வழங்குகிறது |
3 | இப்போது(), உள்ளூர் நேரம்() | தற்போதைய தேதி மற்றும் தற்போதைய நேரத்தை வழங்குகிறது |
4 | ஆண்டு() | தேதியிலிருந்து ஆண்டு திரும்பும் |
5 | மாதம்() | ஒரு தேதியிலிருந்து மாதத்தை வழங்குகிறது |
6 | DAY(), DAYOFMONTH() | ஒரு தேதியிலிருந்து நாளைத் தரும் |
7 | மணிநேரம்() | நேரத்திலிருந்து மணிநேரம் மட்டுமே திரும்பும் |
8 | நிமிடம்() | நேரத்திலிருந்து நிமிடங்களை அறிவிக்கிறது |
9 | இரண்டாவது() | நேரத்திலிருந்து வினாடிகள் திரும்பும் |
10 | DAYNAME() | வாரத்தின் நாளின் பெயரை வழங்கும்: திங்கள், ... |
பதினொரு | மாதப்பெயர்() | மாதத்தின் பெயரை வழங்குகிறது: ஜனவரி, ... |
12 | வாரம்() | ஒரு தேதியிலிருந்து வாரத்தை வழங்குகிறது |
13 | வாரநாள்() | வாரத்தின் நாளின் எண்ணிக்கையை வழங்குகிறது: திங்கள் - 0, செவ்வாய் - 1 |
14 | வீக்கோபியர்() | ஆண்டின் வார எண்ணை வழங்குகிறது |
15 | DAYOFWEEK() | வாரத்தின் நாளின் எண்ணிக்கையை வழங்குகிறது: ஞாயிறு - 1, திங்கள் - 2 |
16 | DAYOFYEAR() | ஆண்டின் நாளைத் தருகிறது: 1-366 |
17 | தேதி() | "தேதிநேர" பொருளில் இருந்து தேதியை மட்டும் வழங்கும் |
18 | சேர்த்தல்() | ஒரு தேதியில் நாட்களைச் சேர்க்கிறது |
19 | SUBDATE() | ஒரு தேதியிலிருந்து நாட்களைக் கழிக்கிறது |
20 | சேர்க்க நேரம்() | அவ்வப்போது சேர்க்கிறது |
21 | துணை நேரம்() | நேரத்திலிருந்து நேரத்தை கழிக்கிறது |
நான் வேண்டுமென்றே செயல்பாடுகளை சிறிய குழுக்களாக தொகுத்தேன், அவற்றுடன் எவ்வாறு வேலை செய்வது என்பதைப் புரிந்துகொள்வதை எளிதாக்கினேன். ஒவ்வொரு குழுவிலிருந்தும் ஒரு செயல்பாட்டை கீழே கருத்தில் கொள்வோம்.
தேதி மற்றும் நேரத்துடன் பணிபுரியும் செயல்பாடுகளின் முழுமையான பட்டியலை நீங்கள் இணைப்பில் காணலாம்: https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html
3.2 அழைப்பு செயல்பாடுகள்
மூலம், நாங்கள் பல செயல்பாடுகளைக் கற்றுக் கொண்டிருப்பதால், ஆபரேட்டரைப் SELECT
பயன்படுத்த வேண்டியதில்லை என்பதைக் குறிப்பிடுவது பயனுள்ளதாக இருக்கும் என்று நினைக்கிறேன் FROM
. இது எந்த வெளிப்பாட்டின் மதிப்பையும் திரும்பப் பெறலாம். இதன் பொதுவான பார்வை வார்ப்புருவால் வழங்கப்படுகிறது:
SELECT expression
நீங்கள் சில செயல்பாடுகளை அழைக்க விரும்பினால், நீங்கள் குறியீட்டை எழுத வேண்டும்:
SELECT function(options)
SELECT
அட்டவணையைப் பயன்படுத்தாமல் ஆபரேட்டரின் செயல்பாட்டின் சில எடுத்துக்காட்டுகளை கீழே தருகிறேன் :
# | கோரிக்கை | விளைவாக |
---|---|---|
1 | 1+1ஐத் தேர்ந்தெடுக்கவும் | 2 |
2 | தேர்வு 13 மோட் 5 | 3 |
3 | RAND() தேர்ந்தெடு | 0.20771444235715497 |
4 | CURDATE()ஐத் தேர்ந்தெடுக்கவும் | 2022-06-04 |
5 | CURTIME() | 00:06:02 |
6 | இப்போது தேர்ந்தெடு() | 2022-06-04 00:06:43 |
மேலும், நீங்கள் பார்க்க முடியும் என, மேலே உள்ள அட்டவணையில், தற்போதைய தேதி மற்றும் நேரத்தைப் பெற, நீங்கள் செயல்பாடுகளில் ஒன்றைப் பயன்படுத்த வேண்டும்:
CURDATE()
- இன்றைய தேதி;CURTIME()
- தற்போதைய நேரம்;NOW()
- தற்போதைய தேதி மற்றும் நேரம்.
3.3 ஆண்டு மற்றும் மாதத்தின் அடிப்படையில் தரவைத் தொகுத்தல்
ஊழியர்களுக்கான பணிகளுடன் எங்கள் பணி அட்டவணையை நினைவுபடுத்துவோம். இந்த அட்டவணையில் இருந்து பணிகளை பல ஆண்டுகளாக குழுவாக்க முயற்சிப்போம். இதைச் செய்ய, நாங்கள் செயல்பாட்டைப் பயன்படுத்துகிறோம் YEAR()
, இது அனுப்பப்பட்ட தேதியிலிருந்து ஆண்டை வழங்கும்.
எங்கள் வினவலின் முதல் பதிப்பு இப்படி இருக்கும்:
SELECT
id,
employee_id ,
name,
YEAR(deadline) AS year,
deadline
FROM task
இந்த வினவலின் முடிவு இப்படி இருக்கும்:
ஐடி | பணியாளர்_ஐடி | பெயர் | ஆண்டு | காலக்கெடுவை |
---|---|---|---|---|
1 | 1 | முகப்பில் ஒரு பிழையை சரிசெய்யவும் | 2022 | 2022-06-01 |
2 | 2 | பின்தளத்தில் ஒரு பிழையை சரிசெய்யவும் | 2022 | 2022-06-15 |
3 | 5 | காபி வாங்கு | 2022 | 2022-07-01 |
4 | 5 | காபி வாங்கு | 2022 | 2022-08-01 |
5 | 5 | காபி வாங்கு | 2022 | 2022-09-01 |
6 | (ஏதுமில்லை) | அலுவலகத்தை சுத்தம் செய்யுங்கள் | (ஏதுமில்லை) | (ஏதுமில்லை) |
7 | 4 | வாழ்க்கையை அனுபவிக்கவும் | (ஏதுமில்லை) | (ஏதுமில்லை) |
8 | 6 | வாழ்க்கையை அனுபவிக்கவும் | (ஏதுமில்லை) | (ஏதுமில்லை) |
எல்லா வரிசைகளும் ஒரே வருடத்தைக் கொண்டிருப்பதைக் காணலாம், எனவே இரண்டு புலங்களைப் பயன்படுத்துவோம் - ஆண்டு மற்றும் மாதம். எங்கள் வினவலின் இரண்டாவது பதிப்பு இப்படி இருக்கும்:
SELECT
id,
employee_id ,
name,
YEAR(deadline) AS year,
MONTH(deadline) AS month,
deadline
FROM task
இந்த வினவலின் முடிவு இப்படி இருக்கும்:
ஐடி | பணியாளர்_ஐடி | பெயர் | ஆண்டு | மாதம் | காலக்கெடுவை |
---|---|---|---|---|---|
1 | 1 | முகப்பில் ஒரு பிழையை சரிசெய்யவும் | 2022 | 6 | 2022-06-01 |
2 | 2 | பின்தளத்தில் ஒரு பிழையை சரிசெய்யவும் | 2022 | 6 | 2022-06-15 |
3 | 5 | காபி வாங்கு | 2022 | 7 | 2022-07-01 |
4 | 5 | காபி வாங்கு | 2022 | 8 | 2022-08-01 |
5 | 5 | காபி வாங்கு | 2022 | 9 | 2022-09-01 |
6 | (ஏதுமில்லை) | அலுவலகத்தை சுத்தம் செய்யுங்கள் | (ஏதுமில்லை) | (ஏதுமில்லை) | (ஏதுமில்லை) |
7 | 4 | வாழ்க்கையை அனுபவிக்கவும் | (ஏதுமில்லை) | (ஏதுமில்லை) | (ஏதுமில்லை) |
8 | 6 | வாழ்க்கையை அனுபவிக்கவும் | (ஏதுமில்லை) | (ஏதுமில்லை) | (ஏதுமில்லை) |
ஆண்டு மற்றும் மாதத்தின் அடிப்படையில் பணிகளை எவ்வாறு குழு செய்வது என்று நான் உங்களுக்குச் சொல்ல மாட்டேன் - நீங்கள் ஏற்கனவே இதைப் படித்திருக்கிறீர்கள்: ஆபரேட்டரைப் பயன்படுத்தவும் GROUP BY
.