 |
|
|
 |
 |
|
หืมมม ข้อมูลที่ว่านี่ data type เป็น varchar หรือ datetime ละคะ
|
 |
 |
 |
 |
Date :
2010-07-10 13:10:44 |
By :
blurEyes |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (PHP)
$date=date(yy-mm-dd);
echo($date);
ลองดูครับ อิอิอิอิอิอิ
|
 |
 |
 |
 |
Date :
2010-07-10 13:14:41 |
By :
SOUL |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมเก็บเป็น text ครับ
|
 |
 |
 |
 |
Date :
2010-07-10 13:17:02 |
By :
ความรู้เท่าหางอึ่ง |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
อ๋อ ใช้ BETWEEN ได้เลยค่ะแต่แนะนำให้ใส่ เวลาลงไปด้วย เป็น 20100711-134011
เวลาค้นหาจากวันที่จะประมาณนี้
SELECT *
FROM `table_name`
WHERE SUBSTRING(`text_date_field` ,1 ,8) BETWEEN '20100101' AND '20101231'
|
 |
 |
 |
 |
Date :
2010-07-10 13:36:53 |
By :
blurEyes |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ได้เลยเหรอครับ ผมเก็บ วัน เดือน ปี 01-01-2010 อย่างเงี้ยะอ่ะครับ
|
 |
 |
 |
 |
Date :
2010-07-10 13:47:04 |
By :
ความรู้เท่าหางอึ่ง |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
และค่าระหว่างวันที่ ถึง วันที่ ที่จะนำมาค้นหา
ผมก็มีรูปแบบ เหมือนกัน
|
 |
 |
 |
 |
Date :
2010-07-10 13:48:21 |
By :
ความรู้เท่าหางอึ่ง |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
อ๋อ ไปเก็บแบบ human readble
งั้นก้อต้องเหนื่อยมาตัดต่อ string เอาละค่ะ
แนะนำว่าให้เก็บแบบ machine ดีกว่านะคะ จะได้ sort ตามวันที่ได้
ไม่งั้นคุณจะพบว่าผลลัพธ์การ sort เป็นแบบนี้
01-02-2010
01-03-2010
02-02-2010
ซึ่งควรเป็น
01-02-2010
02-02-2010
01-03-2010
เพราะคุณจะใช้ FORMAT HUMAN READABLE นี่เฉพาะตอน DISPLAY ไม่ก้อรายงาน
จะมีผลกระทบต่อ performance ของข้อมูลเยอะค่ะ
แต่ถ้าไม่อยากเปลี่ยนก้อใช้อย่างนี้
SELECT *
FROM `table_name`
WHERE CONCAT(SUBSTRING(`text_date_field` ,7 ,4) ,'-' ,SUBSTRING(`text_date_field` ,4 ,2) ,'-' ,SUBSTRING(`text_date_field` ,1 ,2)) BETWEEN '2010-01-01' AND '2010-12-31'
|
 |
 |
 |
 |
Date :
2010-07-10 13:59:26 |
By :
blurEyes |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณครับ คุณ Stupid gurl  
|
 |
 |
 |
 |
Date :
2010-07-10 14:11:29 |
By :
ความรู้เท่าหางอึ่ง |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|