मारियाडीबी में, MAKETIME()
एक अंतर्निहित दिनांक और समय फ़ंक्शन है जो तर्क के रूप में प्रदान किए गए घंटे, मिनट और सेकंड के आधार पर समय मान देता है।
सिंटैक्स
वाक्य रचना इस प्रकार है:
MAKETIME(hour,minute,second)
उदाहरण
यहां एक उदाहरण दिया गया है:
SELECT MAKETIME(08, 30, 45);
परिणाम:
+----------------------+ | MAKETIME(08, 30, 45) | +----------------------+ | 08:30:45 | +----------------------+
और दूसरा एक:
SELECT MAKETIME(23, 8, 1);
परिणाम:
+--------------------+ | MAKETIME(23, 8, 1) | +--------------------+ | 23:08:01 | +--------------------+
श्रेणियां
अगर hour
तर्क सीमा के बाहर है -838
से 838
, मान को एक चेतावनी के साथ छोटा कर दिया जाता है।
अगर minute
या second
तर्क सीमा से बाहर हैं 0
करने के लिए 59
, परिणाम null
. है , और एक चेतावनी दिखाई जाती है (MariaDB प्रलेखन में कहा गया है कि सीमा 0
. है से 60
, लेकिन मेरे परीक्षणों में ऐसा नहीं है। इसके अलावा, मारियाडीबी दस्तावेज में यह भी कहा गया है कि मारियाडीबी समय मूल्यों की सीमा '-838:59:59.999999'
है। करने के लिए '838:59:59.999999'
)।
वैसे भी, यहां ऐसे समय का उदाहरण दिया गया है, जिसमें वे मान हैं जो उनकी स्वीकृत सीमा के ऊपरी छोर पर हैं:
SELECT MAKETIME(838, 59, 59.999999);
परिणाम:
+------------------------------+ | MAKETIME(838, 59, 59.999999) | +------------------------------+ | 838:59:59.999999 | +------------------------------+
ये मान अभी भी उनकी स्वीकृत सीमा के भीतर थे, और इसलिए हमें एक मान्य समय मान मिला।
अमान्य मिनट और सेकंड
यहां बताया गया है कि जब हम minute
. के लिए स्वीकृत सीमा को पार कर जाते हैं तो क्या होता है और second
तर्क:
SELECT
MAKETIME(00, 60, 00),
MAKETIME(00, 00, 60);
परिणाम:
+----------------------+----------------------+ | MAKETIME(00, 60, 00) | MAKETIME(00, 00, 60) | +----------------------+----------------------+ | NULL | NULL | +----------------------+----------------------+ 1 row in set, 1 warning (0.001 sec)
परिणाम null
है दोनों के लिए, चेतावनी के साथ।
आइए चेतावनी देखें:
SHOW WARNINGS;
परिणाम:
+---------+------+-----------------------------------------+ | Level | Code | Message | +---------+------+-----------------------------------------+ | Warning | 1292 | Truncated incorrect seconds value: '60' | +---------+------+-----------------------------------------+
अमान्य घंटे
अब देखते हैं कि जब हम hour
. के लिए स्वीकृत सीमा से बाहर जाते हैं तो क्या होता है तर्क:
SELECT MAKETIME(900, 00, 00);
परिणाम:
+-----------------------+ | MAKETIME(900, 00, 00) | +-----------------------+ | 838:59:59 | +-----------------------+ 1 row in set, 1 warning (0.000 sec)
इस परिदृश्य में, एक समय मान घंटे, मिनट और सेकंड के साथ उनकी ऊपरी सीमा पर क्लिप किया जाता है। एक चेतावनी भी दी जाती है।
आइए चेतावनी देखें:
SHOW WARNINGS;
परिणाम:
+---------+------+---------------------------------------------+ | Level | Code | Message | +---------+------+---------------------------------------------+ | Warning | 1292 | Truncated incorrect time value: '900:00:00' | +---------+------+---------------------------------------------+
अनुपलब्ध तर्क
कॉलिंग MAKETIME()
तर्कों की गलत संख्या के साथ, या कोई तर्क पारित किए बिना, एक त्रुटि उत्पन्न होती है:
SELECT MAKETIME();
परिणाम:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'MAKETIME'
और दूसरा उदाहरण:
SELECT MAKETIME( 12, 1 );
परिणाम:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'MAKETIME'
एक तिथि बनाएं
यह भी देखें SEC_TO_TIME()
कई सेकंड से दिनांक मान बनाने के लिए।
यह भी देखें MAKEDATE()
अपने वर्ष और वर्ष के दिन से दिनांक मान बनाने के लिए।