Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > SQL: สอบถามการ Query ข้อมูลวันที่ที่เก็บข้อมูลเป็น Char



 

SQL: สอบถามการ Query ข้อมูลวันที่ที่เก็บข้อมูลเป็น Char

 



Topic : 101454



โพสกระทู้ ( 55 )
บทความ ( 0 )



สถานะออฟไลน์




ปัญหามีอยู่ว่าเก็บวันที่เป็น char(10) จะตรวจสอบข้อมูลจากวันที่ใส่เข้ามา จะทำอย่างไรได้บ้างครับ

Code (SQL)
SELECT * FROM Work WHERE wk_date >='01/10/2013'


พอใช้คำสั่งนี้จะได้ข้อมูลทั้งหมดเลยครับ ไม่ได้เลือกตามเงื่อนไขที่กำหนด

ใครพอแนะนำได้บ้างครับ



Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-10-08 16:10:35 By : mitchiketta View : 1866 Reply : 21
 

 

No. 1

Guest


พอได้ไหม
Code PHP
list($y,$m,$d)=explode("/",$date);
print $d.".".$m.".".substr($y,2,2);







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-10-08 16:22:12 By : สบายดี
 


 

No. 2

Guest


ตัวแปร $date ในที่นี่คือ
$date = date("Y/m/d");
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-10-08 16:23:49 By : สบายดี
 

 

No. 3



โพสกระทู้ ( 172 )
บทความ ( 0 )



สถานะออฟไลน์


ลองใช้การเก็บวันที่ในรูปแบบ 2013/10/01 ดูสิคับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-10-08 16:24:08 By : maojunghi
 


 

No. 4



โพสกระทู้ ( 55 )
บทความ ( 0 )



สถานะออฟไลน์


ยังไม่ได้ครับ คือ ข้อมูลวันที่เก็บเป็น Char(10) แล้วพอ Select ข้อมูล เพื่อหาวันที่ทำงานที่มากกว่าหรือเท่ากับ '01/10/2013' แล้วข้อมูลออกมาทั้งหมดเลย ไม่ได้อยู่ในช่วงที่มากกว่า วันที่ 01/10/2013 เพราะในฐานข้อมูลวันทีเก็บเป็น Char ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-10-08 16:26:42 By : mitchiketta
 


 

No. 5



โพสกระทู้ ( 55 )
บทความ ( 0 )



สถานะออฟไลน์


ยกตัวอย่าง

1 AA 03/09/2013
2 BB 07/09/2013
3 CC 05/10/2013
4 DD 02/10/2013

พอใช้ SELECT * FROM Work WHERE wk_date >='01/10/2013'

ข้อมูลออกมาทั้งหมดเลยครับ

แต่ต้องการให้แสดงผลแค่

3 CC 05/10/2013
4 DD 02/10/2013
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-10-08 16:30:25 By : mitchiketta
 


 

No. 6



โพสกระทู้ ( 55 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 3 เขียนโดย : maojunghi เมื่อวันที่ 2013-10-08 16:24:08
รายละเอียดของการตอบ ::
ฐานจ้อมูลกำหนดเป็น Char(10) มาให้อ่ะครับ พอดีเค้าต้องเอาไปทำข้อมูลใน Fox ต่อเลยต้องทำแบบนี้ให้ครับ เลยเปลี่ยน type เป็น date ไม่ได้

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-10-08 16:33:18 By : mitchiketta
 


 

No. 7



โพสกระทู้ ( 143 )
บทความ ( 0 )



สถานะออฟไลน์


เำพราะ type มันเป็น char ไงครับ มาเทียบ แบบนี้ มันไม่ได้หรอก ยังไงก็ออกหมด เพราะมันมองเป็น ตัวอักษร ที่เอามาเทียบ ไม่ใช่ มองเป็นตัวเลข
if('01/10/2013' <= '03/09/2013'){
print "1";
}
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-10-08 16:35:52 By : freshymusic
 


 

No. 8



โพสกระทู้ ( 55 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 7 เขียนโดย : freshymusic เมื่อวันที่ 2013-10-08 16:35:52
รายละเอียดของการตอบ ::
ครับถูกต้องที่สุด ผมลอง Convert(datetime,) แล้วก็ยังไม่ได้ ไม่รู้จะแก้ไง ????

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-10-08 16:37:33 By : mitchiketta
 


 

No. 9



โพสกระทู้ ( 172 )
บทความ ( 0 )



สถานะออฟไลน์


01/10/2013
03/09/2013
07/09/2013
05/10/2013
02/10/2013

ลองดูนะคับถ้าใช้การเก็บข้อมูลในลักษณะนี้
ผมยกตัวอย่าง เรียงจากมากไปหาน้อย
07/09/2013
05/10/2013
03/09/2013
02/10/2013
01/10/2013

มันจะเรียงตามพจนานุกรม
ลงเปลี่ยนรูปแบบการเก็บข้อมูลเป็น
2013/09/07
2013/10/05
2013/09/03
2013/10/02
2013/10/01

ลองดูนะคับถ้าใช้การเก็บข้อมูลในลักษณะนี้
ผมยกตัวอย่าง เรียงจากมากไปหาน้อย
2013/10/05
2013/10/02
2013/10/01
2013/09/07
2013/09/03
มันจะเรียงถูกต้อง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-10-08 16:39:54 By : maojunghi
 


 

No. 10



โพสกระทู้ ( 5,105 )
บทความ ( 4 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


- แนะนำ เปลี่ยน ชนิดของตัวแปร (ยังทันไหม) ซึ่งถ้ามาถามในนี้คงเปลี่ยนไม่ได้ (ถามเองตอบเอง 555+) ขอเหตุผลทำไมเปลี่ยน type ไม่ได้ จะได้เป็นแนวทางกับผู้อ่านท่านอื่น ๆ
- นึกได้แค่ และ แนะนำว่า
1. select ค่า วันที่ที่เก็บเป็น char ออกมาทั้งหมด
2. จับเข้าฟังก์ชั่น อะไรสักอย่าง เช่น ใช้ substr() ในการแยกค่ามันออก แล้วทำให้มันอยู่ในรูปแบบ date/time ที่ถูกต้อง
3. เอาค่าวันจริง ๆ ที่ต้องการไปเทียบ ไปคำนวณ (การหาผลต่างของวันที่ กระทู้เก่า ๆ มี)
นึกได้แบบนี้จริง ๆ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-10-08 17:00:05 By : apisitp
 


 

No. 11



โพสกระทู้ ( 172 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 10 เขียนโดย : apisitp เมื่อวันที่ 2013-10-08 17:00:05
รายละเอียดของการตอบ ::
เยี่ยม

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-10-08 17:04:19 By : maojunghi
 


 

No. 12



โพสกระทู้ ( 55 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 10 เขียนโดย : apisitp เมื่อวันที่ 2013-10-08 17:00:05
รายละเอียดของการตอบ ::
ขอบคุณครับ แต่จริงๆ ถ้าข้อมูลวันที่ไม่ถูกระบุเป็น Char ผมก็ใช้ Date ตลอดครับ เพราะจะสะดวกในการ Query ข้อมูลมากกว่า นี่โดนไฟต์บังคับชัดๆ - -"""""""

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-10-08 17:23:08 By : mitchiketta
 


 

No. 13



โพสกระทู้ ( 74 )
บทความ ( 0 )



สถานะออฟไลน์


Code (SQL)
select wk_date >=date_format(STR_TO_DATE('01/10/2013','%d/%m/%y'),'%d/%m/%y')


ใช้แบบนี้ก็ convert ได้ครับ แต่ว่า ถ้า query ชุดใหญ่ๆ ระวังจะข้านะครับกว่าจะได้ผลลัพ


ประวัติการแก้ไข
2013-10-08 17:56:49
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-10-08 17:51:13 By : zoceferatu
 


 

No. 14



โพสกระทู้ ( 5,105 )
บทความ ( 4 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


ก็ให้คนที่บังคับมาทำให้ดูหน่อยสิ ผิดหลักการ มันก็ไม่ใช่แล้วอ่ะครับ
งง...เหอะ ๆ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-10-08 23:02:01 By : apisitp
 


 

No. 15



โพสกระทู้ ( 172 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 14 เขียนโดย : apisitp เมื่อวันที่ 2013-10-08 23:02:01
รายละเอียดของการตอบ ::
ใช่ๆๆๆๆ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-10-09 08:30:28 By : maojunghi
 


 

No. 16



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 12 เขียนโดย : mitchiketta เมื่อวันที่ 2013-10-08 17:23:08
รายละเอียดของการตอบ ::
คนบังคับ ไปเรียนมาจากไหน

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-10-09 09:00:05 By : watcharop
 


 

No. 17

Guest


เก็บเป็น char แต่ตอน query convert เป็น datetime กลับมาใช้ได้ไหม

ตัวอย่าง sql server มิใช่ mysql

select convert(smalldatetime, fieldname, 103) as mydate from....

ปล. 103 คือ format dd/mm/yyyy
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-10-09 10:01:27 By : ห้ามตอบเกินวันละ 2 กระทู้
 


 

No. 18



โพสกระทู้ ( 55 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 16 เขียนโดย : watcharop เมื่อวันที่ 2013-10-09 09:00:05
รายละเอียดของการตอบ ::
ปล. คนบังคับจบปริญญาโท วิศวะคอมพิวเตอร์+โทรคมนาคม ครับ สถาบันไม่ขอเอ่ยชื่อ เริ่มต้นมา ให้ผมเก็บข้อมูลเป็น tis-620 ครับ ซึ่งตั้งแต่เรียนมา+ทำงาน ใช้ utf-8 มาโดยตลอด เค้าบอกว่า tis-620 เหมาะสมกับการใช้งานสำหรับคนไทยที่สุด

ผมจบแค่ปริญญาตรีเลยเทียบเค้ามะได้

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-10-09 10:37:15 By : mitchiketta
 


 

No. 19



โพสกระทู้ ( 130 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


บังคับใช้ tis-620 ยังพอทน แต่รูปแบบวันที่เป็น char นี่ไม่ไหว
ลองเพิ่มคอลัมน์เก็บวันที่ในรูปแบบ date() ได้ไหมครับ
แล้วลองหาทางเขียนคำสั่งแปลงข้อมูลจาก char() บันทึกใน date()
ของเก่าของเขาก็ปล่อยไว้ เราก็ query จากคอลัมน์ date ใหม่ของเรา
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-10-09 11:06:25 By : nutsuanplu
 


 

No. 20



โพสกระทู้ ( 5,105 )
บทความ ( 4 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


อยากเจอคนเก่ง ๆ แบบท่าน mitchiketta จัง....ชอบเจอคนเก่ง ๆ อยากจะให้เค้าทำให้ดูหน่อย .... เหอะ ๆ

ตอบความคิดเห็นที่ : 19 เขียนโดย : nutsuanplu เมื่อวันที่ 2013-10-09 11:06:25

รายละเอียดของการตอบ ::
ตามท่าน nutsuanplu บอกมาก็ช่วยได้นะ ทำ DB ของเรา เขาจะเอา char ไปใช้ยังไง ก็ตามใจเค้า...เสริมอีก 1 เสียง


แต่อย่าบอกนะ DB ฝั่งเราก็แก้เพิ่มเติมอะไรไม่ได้อีก เหอะ ๆ


ประวัติการแก้ไข
2013-10-09 11:28:19
2013-10-09 11:28:42
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-10-09 11:27:42 By : apisitp
 


 

No. 21



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 18 เขียนโดย : mitchiketta เมื่อวันที่ 2013-10-09 10:37:15
รายละเอียดของการตอบ ::
.......



ประวัติการแก้ไข
2013-10-09 12:46:50
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-10-09 12:44:58 By : watcharop
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : SQL: สอบถามการ Query ข้อมูลวันที่ที่เก็บข้อมูลเป็น Char
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่