คู่มือที่ครอบคลุมสำหรับการจัดรูปแบบวันที่ใน T-SQL และ SQLite

เมื่อทำงานกับฐานข้อมูล การจัดการรูปแบบวันที่อาจเป็นงานที่ยากลำบาก—โดยเฉพาะเมื่อถ่ายโอนข้อมูลระหว่างระบบฐานข้อมูลที่แตกต่างกัน เช่น SQL Server และ SQLite โพสต์บล็อกนี้มีเป้าหมายเพื่อชี้แจงวิธีการจัดการการจัดรูปแบบวันที่ใน T-SQL สำหรับข้อมูลที่นำเข้าใน SQLite โดยมุ่งเน้นที่การแปลง timestamp และการรักษาความสมบูรณ์ในการซิงโครไนซ์ข้อมูล

ปัญหา: ปัญหาการจัดรูปแบบวันที่

ในกรณีของคุณ ความท้าทายเกิดขึ้นเมื่อพยายามคัดลอกฐานข้อมูล SQL Server ไปยังไฟล์ SQLite ที่จะซิงค์กับแอปพลิเคชันที่ใช้ไฟล์ SQLite ที่แตกต่างกัน ปัญหาหลักคือรูปแบบวันที่; เมื่อคุณเลือกวันที่ในแอปพลิเคชันของคุณและพยายามแทรกเข้าไปใน SQLite การดำเนินการจะล้มเหลวเนื่องจากฟอร์แมตไม่ตรงกัน

ในกรณีนี้ การใช้การแสดงผลสตริงของรูปแบบแทนการพึ่งพารูปแบบเริ่มต้นเป็นสิ่งสำคัญ นอกจากนี้ timestamp มักจะถูกจัดเก็บเป็นวินาทีที่ผ่านมาตั้งแต่ Unix epoch ซึ่งอาจไม่ตรงกับรูปแบบที่ SQLite คาดหวัง

วิธีแก้ปัญหา: การจัดรูปแบบวันที่ด้วย T-SQL และ SQLite

การใช้ T-SQL เพื่อจัดรูปแบบวันที่

เพื่อให้มั่นใจถึงความเข้ากันได้เมื่อถ่ายโอนวันที่ ขั้นตอนแรกคือการจัดรูปแบบวันที่ใน T-SQL อย่างถูกต้อง นี่คือวิธีที่คุณสามารถทำได้:

  1. แปลงวันที่ที่ถูกแก้ไขล่าสุดใน SQL Server:
    คุณสามารถใช้ฟังก์ชัน CONVERT ใน MS SQL Server เพื่อจัดรูปแบบวันที่ของคุณดังนี้:
    CONVERT(char(24), lastModified, 120)
    
    • คำอธิบาย: ฟอร์แมต 120 จะให้คุณได้รับรูปแบบ yyyy-mm-dd hh:mm:ss ซึ่งเป็นที่ยอมรับและรู้จักโดยฐานข้อมูลหลายระบบ รวมถึง SQLite

การดึงและจัดรูปแบบวันที่ใน SQLite

เมื่อคุณแปลงวันที่ในฝั่ง SQL Server เสร็จเรียบร้อย ขั้นตอนถัดไปคือการจัดการรูปแบบวันที่ภายใน SQLite วิธีที่คุณสามารถดึงวันที่ให้อยู่ในรูปแบบที่อ่านได้มีดังนี้:

  1. ใช้ strftime ใน SQLite: เมื่อคุณต้องการเลือกวันสำหรับวัตถุประสงค์ที่ไม่ใช่การแสดงผล ให้ใช้ strftime ดังนี้:
    strftime("%Y-%m-%d %H:%M:%S", dateModified) as dateModified
    
    • คำอธิบาย: คำสั่งนี้จะเปลี่ยนวันที่ของคุณให้เป็นรูปแบบสตริงเดียวกันกับที่ใช้ใน T-SQL ซึ่งช่วยให้สามารถแทรกและสอบถามได้ง่ายขึ้นโดยไม่มีข้อขัดแย้งเกี่ยวกับวันที่

การแสดงวันที่อย่างสวยงาม

หลังจากถ่ายโอนและประมวลผลวันที่อย่างสำเร็จสิ้น ให้แน่ใจว่าผู้ใช้สามารถอ่านวันที่ได้ง่าย ผลลัพธ์จาก SQLite สามารถปรับแต่งเพื่อให้อ่านง่ายยิ่งขึ้นเมื่อคุณจัดการในฝั่งแอปพลิเคชัน

  1. ความสะดวกต่อผู้ใช้:
    คุณอาจพิจารณาการจัดรูปแบบวันที่เพิ่มเติมในแอปพลิเคชันของคุณ ขึ้นอยู่กับความชื่นชอบของผู้ใช้ รูปแบบทั่วไปอาจรวมถึง:
    • 1 มกราคม 2023
    • 1/1/23
    • 23-01-01

ข้อคิดสุดท้าย

การจัดการรูปแบบวันที่อย่างประสบความสำเร็จระหว่าง SQL Server และ SQLite เกี่ยวข้องกับการแปลงวันที่อย่างเหมาะสมโดยใช้ T-SQL และการแสดงผลอย่างถูกต้องใน SQLite โดยการใช้ฟังก์ชัน CONVERT กับรูปแบบที่เหมาะสมและการใช้ strftime ของ SQLite คุณสามารถมั่นใจได้ว่าการถ่ายโอนข้อมูลจะเป็นไปอย่างราบรื่นและไม่มีข้อผิดพลาด

หากคุณต้องการความช่วยเหลือเพิ่มเติมในการจัดรูปแบบวันที่ให้สวยงามสำหรับผู้ใช้งานปลายทางหรือมีคำถามอื่นใด อย่าลังเลที่จะติดต่อเรา!