 |
สวัสดีครับมีเรื่องรบกวนอีกแล้วครับ เกี่ยวกับการ เก็บข้อมูล วันที่ ในรูปแบบ varchar mysql |
|
 |
|
|
 |
 |
|
ได้แล้วครับผมขอบคุณครับ
Code (PHP)
select operation_catch , COUNT(DISTINCT crimeref_id) AS sum_case FROM tb_criminal1 where type_arrest='2' AND operation_catch='11' AND str_to_date(catch_date,'%d-%m-%Y') between str_to_date('01-08-2564','%d-%m-%Y') and str_to_date('01-08-2564','%d-%m-%Y')
|
 |
 |
 |
 |
Date :
2021-07-07 15:26:53 |
By :
gmgo |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
การเขียน แบบนี้ คุณจะมีปัญหา กับปี อธิกสุรธิน หรือ ปีที่เดือนกุมภาพันธ์ มี 29 วัน ทั้งของ คศ และ พศ.
คุณต้องแปลง ปีให้เป็น คศ ก่อน ที่จะเข้าสูตรนี้
dte,str_to_date('01-08-2564','%d-%m-%Y')
เปลี่ยนเป็น
concat( right(dte, 4)-543 , '-', right( left( dte, 5), 2),'-', left(dte, 2))
|
 |
 |
 |
 |
Date :
2021-07-08 13:45:27 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
พยายามใช้งานอะไรๆให้ตรงจุดประสงค์ของมัน
วันที่ให้เก็บรูปแบบใดรูปแบบหนึ่งของประเภทวันที่ ไม่ว่าจะ timestamp, datetime, date, ทำนองนี้
แล้วปี การเก็บข้อมูล การประมวลผล ควรเอาค.ศ.เป็นหลัก เอาพ.ศ.ไว้เฉพาะการแสดงผลอย่าเอาไปเก็บหรือคำณวน
เพราะระบบคอมพิวเตอร์มันกว้างขวาง แล้วมันก็มาแนวนี้เป็นหลัก ถ้าเอาพ.ศ.เป็นหลัก คุณจะต้องแปลงกลับไปกลับมาวุ่นวาย
นอกจากประเภทให้ถูก, ค.ศ.เป็นหลักแล้ว รูปแบบการเก็บถ้าเป็นไปได้ควรใช้ Y-m-d ปี 4 หลัก เดือนกับวันที่ 2 หลัก แล้วเวลาก็เป็นแบบ 24 ชมอย่างละ 2 หลัก คือ xx:xx:xx (ชั่วโมง:นาที:วินาที)
การเก็บแบบนี้เวลาไล่ลำดับจะง่ายและไวมากๆ เพราะปีเก่าสุดยังไงก็เรียงมาก่อนเดือน
ไม่งั้นถ้าเก็บแบบ วันที่-เดือน-ปี เวลาจะเรียงลำดับเก่าใหม่ ต้องมาใช้ฟังก์ชั่นเรียกปีออกมาก่อนอีก วุ่นมั้ยแบบนั้น?
อันนี้แนะนำวิธีที่จะทำให้ชีวิตง่ายขึ้น ไม่ต้องไปเสียเวลา
|
 |
 |
 |
 |
Date :
2021-07-08 17:08:44 |
By :
mr.v |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
แก้ที่ต้นเหตุ:
ข้อมูลที่เก็บต้องสัมพันธ์กับ Type จะได้ไม่ต้อง convert ทั้งไปและกลับ
เปลี่ยนเป็น Date เถอะ
|
 |
 |
 |
 |
Date :
2021-07-09 10:48:47 |
By :
Guest |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณมากครับ ผมลืมนึกไปเลยว่า กรณีของเดือน ก.พ. บางปีมันมี 29 วันด้วย คงต้องเปลีย่นมาเก็บแบบ ปกติ แล้วค่อยให้มันแสดงผลเป็น พศ เอาดีกว่าครับ
|
 |
 |
 |
 |
Date :
2021-07-16 00:23:03 |
By :
gmgo |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|