ในบางครั้งการจัดการกับวันที่และเวลาใน SQL อาจเป็นเรื่องยุ่งยากมาก แม้ว่าวันที่และเวลาเป็นชนิดข้อมูลที่แตกต่างกันโดยสิ้นเชิง แต่ก็มักจะรวมเข้ากับประเภทข้อมูลวันที่และเวลา วันที่และเวลาของ SQL คนเดียวค่อนข้างเรียบง่าย แต่การรวมทั้งสองอย่างเข้าด้วยกันอาจเป็นงานที่เจ็บปวดที่สุดอย่างหนึ่ง ในบทความนี้จะเรียนรู้เกี่ยวกับประเภทวันที่และเวลาของ SQL โดยละเอียด
- ประเภทข้อมูล DateTime คืออะไร?
- คำอธิบายวันที่และเวลา
- การแปลงประเภทวันที่และเวลาอื่นเป็นชนิดข้อมูลวันที่และเวลา
ประเภทข้อมูลวันที่และเวลาคืออะไร?
ใน SQL วันเวลา ชนิดข้อมูลวันที่ใช้สำหรับค่าที่มีทั้งวันที่และเวลา ไมโครซอฟต์ กำหนดว่าเป็นไฟล์ วันที่รวมกับช่วงเวลาของวันที่มีเศษเสี้ยววินาทีซึ่งอิงตามนาฬิกาแบบ 24 ชั่วโมง .
โดยเฉพาะ SQL มีข้อมูลหลายประเภทที่รวมทั้งการแสดงวันที่และเวลาทำให้สิ่งต่างๆซับซ้อนมากขึ้น สิ่งที่ใช้กันอย่างแพร่หลายคือ DATETIME ซึ่งมีมาตั้งแต่รุ่นก่อนหน้าของ SQL SQL ดึงข้อมูลและแสดงค่า DATETIME ในรูปแบบ 'YYYY-MM-DD hh: mm: ss' ช่วงที่รองรับคือ '1753-01-01 00:00:00' ถึง '9999-12-31 23: 59: 59.997' มาสำรวจประเภทวันที่และเวลาโดยละเอียดกันดีกว่า
คำอธิบายวันที่และเวลา
โปรดตรวจสอบตารางต่อไปนี้เพื่อทราบข้อมูลเพิ่มเติมเกี่ยวกับประเภทวันที่และเวลาของ SQL
ทรัพย์สิน | มูลค่า |
ไวยากรณ์ | วันเวลา |
การใช้งาน | ประกาศ @MyDatetimeวันเวลา สร้างตาราง Table1 (คอลัมน์ 1วันเวลา) |
รูปแบบ | ‘YYYY-MM-DD hh: mm: ss.nnn |
ช่วงเวลา | 00:00:00 ถึง 23: 59: 59.997 |
ช่วงองค์ประกอบ |
|
ขนาดการจัดเก็บ วิธีหาความยาวอาร์เรย์ในจาวาสคริปต์ | 8 ไบต์ |
ค่าเริ่มต้น | 1900-01-01 00:00:00 น |
ปฏิทิน | เกรกอเรียน (รวมช่วงปีที่สมบูรณ์) |
บันทึก: รายละเอียดด้านบนใช้สำหรับประเภทวันที่และเวลาใน Transact-SQL และเซิร์ฟเวอร์ SQL
นั่นคือ วันเวลา ใน SQL แต่คุณจะทำอย่างไรถ้าคุณมีเดท &ประเภทเวลาและคุณต้องแปลงเป็น วันเวลา พิมพ์?
การแปลงประเภทวันที่และเวลาอื่นเป็นชนิดข้อมูลวันที่และเวลา
วันเวลา ชนิดข้อมูลใน SQL รวมวันที่และเวลาโดยมีเศษเสี้ยววินาที 3 หลัก ความแม่นยำจะถูกปัดเศษเป็น. 000, .003 หรือ. 007 วินาที ดังนั้นเมื่อคุณแปลงไฟล์ วันที่ หรือ เวลา ค่าเป็น วันเวลา ข้อมูลเพิ่มเติมจะถูกเพิ่มเข้าไปในมูลค่า เนื่องจากไฟล์ วันเวลา ชนิดข้อมูลมีทั้งวันที่และเวลา ส่วนนี้ของบทความจะอธิบายถึงสิ่งที่เกิดขึ้นเมื่ออื่น ๆ วันและเวลา ชนิดข้อมูลจะถูกแปลงเป็นไฟล์ วันเวลา ประเภทข้อมูล.
ตัวอย่างที่ 1: การแปลงโดยนัยระหว่างวันที่และวันที่และเวลา
DECLARE @date date = '2020-12-01' DECLARE @datetime datetime = @date
ผลลัพธ์
@datetime @date ------------------------- ---------- 2016-12-21 00: 00: 00.000 2559 -12-21
ตัวอย่างที่ 2: การแปลงโดยนัยระหว่างวันที่และวันที่และเวลาโดยใช้ CAST ()
DECLARE @thedate date = '2020-12-01' SELECT @thedate AS 'date', CAST (@thedate AS datetime) AS 'datetime'
ผลลัพธ์
@datetime @date ------------------------- ---------- 2016-12-21 00: 00: 00.000 2559 -12-21
ตัวอย่างที่ 3: การแปลงโดยนัยจาก smalldatetime เป็น datetime
เมื่อการแปลงมาจาก s malldatetime พิมพ์ชั่วโมงและนาทีจะถูกคัดลอก วินาทีและเศษส่วนของวินาทีถูกตั้งค่าเป็น 0 รหัสต่อไปนี้แสดงผลลัพธ์ของการแปลงไฟล์ a smalldatetime ค่าเป็น วันเวลา มูลค่า.
DECLARE @smalldatetime smalldatetime = '2020-12-01 12:32' DECLARE @datetime datetime = @smalldatetime SELECT @datetime AS '@datetime', @smalldatetime AS '@smalldatetime'
ผลลัพธ์
@datetime @smalldatetime ----------------------------------------- - 2016-12-01 12: 32: 00.000 2016-12-01 12:32:00 น
ในทำนองเดียวกันคุณสามารถแปลงไฟล์อื่น ๆ วันเวลา ประเภทเป็น เวลาข้อมูล พิมพ์โดยปริยายหรือใช้ โยน () และ แปลง() วิธีการ สำหรับข้อมูลอ้างอิงของคุณโปรดดูตารางด้านล่างนี้เพื่อทำความคุ้นเคยกับรูปแบบวันที่และเวลาทั้งหมด
ประเภทข้อมูล | ตัวอย่าง |
เวลา | 12:35:29 น. 1234567 |
วันที่ | 2550-05-08 |
smalldatetime | 2550-05-08 12:35:00 น |
วันเวลา | 2550-05-08 12: 35: 29.123 |
วันที่เวลา 2 | 2550-05-08 12:35:29 น. 1234567 |
datetimeoffset | 2550-05-08 12: 35: 29.1234567 +12: 15 |
ด้วยเหตุนี้เราจึงมาถึงจุดสิ้นสุดของบทความนี้ ฉันหวังว่าคุณจะมีความชัดเจนเกี่ยวกับเนื้อหาที่กล่าวถึงที่นี่ ให้แน่ใจว่าคุณฝึกฝนให้มากที่สุดและเปลี่ยนประสบการณ์
หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ MySQL และทำความรู้จักกับฐานข้อมูลเชิงสัมพันธ์แบบโอเพนซอร์สนี้จากนั้นตรวจสอบไฟล์ ซึ่งมาพร้อมกับการฝึกอบรมสดที่นำโดยผู้สอนและประสบการณ์โครงการในชีวิตจริง การฝึกอบรมนี้จะช่วยให้คุณเข้าใจ MySQL ในเชิงลึกและช่วยให้คุณบรรลุความเชี่ยวชาญในเรื่องนั้น ๆ
มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของบทความ ‘ขั้นตอนใน SQL’ แล้วเราจะติดต่อกลับไป