17
คุณเก็บ“ วันที่คลุมเครือ” ไว้ในฐานข้อมูลได้อย่างไร
นี่เป็นปัญหาที่ฉันพบเจอในสองสามครั้ง ลองนึกภาพคุณมีบันทึกที่คุณต้องการจัดเก็บลงในตารางฐานข้อมูล ตารางนี้มีคอลัมน์ DateTime ที่ชื่อ "date_created" หนึ่งในเร็กคอร์ดนี้ถูกสร้างขึ้นมานานแล้วและคุณไม่แน่ใจจริงๆเกี่ยวกับวันที่แน่นอน แต่คุณรู้ปีและเดือน บันทึกอื่น ๆ ที่คุณรู้เพียงแค่ปี บันทึกอื่น ๆ ที่คุณรู้ว่าวันเดือนและปี คุณไม่สามารถใช้ฟิลด์ DateTime ได้เนื่องจาก "May 1978" ไม่ใช่วันที่ที่ถูกต้อง หากคุณแบ่งออกเป็นหลายคอลัมน์คุณจะไม่สามารถสืบค้นได้ มีคนอื่นวิ่งเข้าไปในนี้ถ้าเป็นเช่นนั้นคุณจัดการกับมันได้อย่างไร? เพื่อชี้แจงระบบที่ฉันกำลังสร้างมันเป็นระบบที่ติดตามคลังข้อมูล เนื้อหาบางส่วนได้ถูกผลิตมานานแล้วและสิ่งที่เรารู้คือ "พฤษภาคม 1978" ฉันสามารถจัดเก็บเป็นวันที่ 1 พฤษภาคม 1978 แต่มีเพียงวิธีที่จะแสดงว่าวันนี้มีความถูกต้องเฉพาะกับเดือน ด้วยวิธีนี้หลายปีต่อมาเมื่อฉันเรียกคืนไฟล์เก็บถาวรนั้นฉันไม่สับสนเมื่อวันที่ไม่ตรงกัน เพื่อจุดประสงค์ของฉันมันเป็นสิ่งสำคัญที่จะต้องแยก "วันที่ไม่รู้จักในเดือนพฤษภาคม 2521" กับ "1 พฤษภาคม 2521" นอกจากนี้ฉันไม่ต้องการเก็บสิ่งที่ไม่รู้จักเป็น 0 เช่น "0 พฤษภาคม 1978" เพราะระบบฐานข้อมูลส่วนใหญ่จะปฏิเสธว่าเป็นค่าวันที่ที่ไม่ถูกต้อง
125
database
date-format