ขออีกสักคำถามครับ เรื่อง SQL Statement กับการเรียงข้อมูลที่ไม่ปรากฎอยู่ในตาราง
พูดยากต้องเพิ่มฟิลล์ครับเพื่อความสะดวก แต่จะมีปัญหาเกี่ยวกับข้อมูลเก่ามันจะไม่รับรู้ ไช่ไหมครับ ( ถ้าไม่มีข้อมูลเก่าให้ข้ามไปข้อ6)
เช่นนั้นสร้างไฟล์หนึ่งมาทำการอัพระบบสร้างให้ของเก่ารับรู้รูปแบบที่เปลี่ยนไป โดยหาทางแปลงมันกลับไปเป็นรูปแบบสากล yyyy-mm-dd ลงในฟิลล์ที่สร้างมาใหม่ แล้วค่อยคิดหาวิธีคำนวนต่อ
1.คิวรี่ในตารางมาทั้งหมด
2. ดึงเอาค่ามาเช็คทีละคนโดยครอบ loop ไว้
วัน > ใส่ไว้ในตัวแปรที่1 > น้อยกว่า9 เติม0ด้านหน้า
เดือน > ใส่ไว้ในตัวแปรที่2 > if มกราคม=01 ไล่ไปเรื่อยจน12ธันวาคม
ปี > ใส่ไว้ในตัวแปรที่3 >ทำเป็น ค.ศ. โดยลบ 543
นำตัวแปรทั้ง3ตัวมาเชื่อมกัน โดยแทรกระหว่างตัวแปรด้วยเครื่องหมายขีด (-)
ตัวแปร3-ตัวแปร2-ตัวแปร1
3 สั่ง update where คนนั้น
4. ลูปวนกลับไป
5. เสร็จงานชุดคำสั่งนี้ใช้งานครั้งเดียวจบ
6กลับไปปรับปรุงขั้นตอนการ input ให้เก็บรูปแบบวันที่ตามหลักมาตรฐานในฟิลที่สร้างมาใหม่ ควบคู่ไปกับวันแบบไทยเลยก็ได้ครับ
Date :
2015-01-12 22:24:12
By :
meannerss
ข้อมูลที่เป็นวันที่ ควรจะเก็บในรูปแบบวันที่อยู่แล้ว date, datetiem หรือ timestamp
ส่วนการแสดงผล เราค่อยมาปรับเปลี่ยนเอาได้ครับ
มันจะจัดการง่ายกว่ากันเยอะ
Date :
2015-01-13 01:10:28
By :
Krungsri
datediff(now(),
date(
concat(Field_Thai_Year-543,'-',case Field_Thai_FullMonth when 'มกราคม' then '01' when 'กุมภาพันธ์' then '02' ... when 'ธันวาคม' then '12' end,'-',Field_Day)
)
)
จะให้ดีเก็บแบบ date ตาม #2 ครับ สะดวกกว่ากันเยอะ
Date :
2015-01-13 03:03:56
By :
ผ่านมา
ขอบคุณทุกท่านมากครับ คงงมกันอีกหน่อยเพราะ มันมีข้อมูลเดิมอยู่แล้วครับ
Date :
2015-01-13 09:29:45
By :
Broom
Load balance : Server 01