|
|
|
สอบถามคำสั่ง sql ในการค้นหาคำใน string ขอความกรุณาด้วยครับผม |
|
|
|
|
|
|
|
ใช้ like '1' หรือ ='1' ก็ได้ครับ
|
|
|
|
|
Date :
2011-12-17 22:31:39 |
By :
kerb |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณครับ แต่ไม่ได้ครับ สมมตินะครับ
row ที่ 1 = ผมต้องการเป็นที่ 1
row ที่ 2 = ผมต้องการเป็นที่ 11
ถ้า like %1% ก็จะออกทั้ง 2 แถว ผมต้องการให้ออกแค่แถวที่ 1 ครับ
ตามคุณ Guide บอก ไม่ได้ครับ ขอบคุณครับ
ยังรอคำตอบอยู่นะครับ ขอความกรุณาด้วยครับ
|
|
|
|
|
Date :
2011-12-17 22:43:05 |
By :
exdo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
งง ทำไมไม่ได้ล่ะครับ ขอดู query เต็มๆ ตอนแก้อย่างที่มบอกได้มั้ยครับ มันต้องได้สิครับ
|
|
|
|
|
Date :
2011-12-17 22:55:18 |
By :
kerb |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT * FROM `tblpost` WHERE message like '%1%' แบบนี้ออกครับ แต่ 2 แถว
SELECT * FROM `tblpost` WHERE message like '1' แบบนี้ไม่ออกครับ
SELECT * FROM `tblpost` WHERE message like = '1' แบบนี้ไม่ออกครับ
|
|
|
|
|
Date :
2011-12-18 00:47:53 |
By :
exdo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมขอถามต่อนะครับ ผมมีปัญหาคือ ถ้าทำตาม link ก็จะสร้างตารางแบบ InnoDB ไม่ได้ครับ (ตารางผมเป็น InnoDB)
เลยอย่างสอบถาามต่อครับเพราะตอนนี้กลับมาทำไม่ได้อีกแล้วครับ แหะๆ ขอบคุณครับ
|
|
|
|
|
Date :
2011-12-18 01:52:45 |
By :
exdo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
InnoDB น่าจะไม่รองรับ Full-Text ครับ
|
|
|
|
|
Date :
2011-12-18 08:08:14 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT * FROM `tblpost` WHERE message like = '1' แบบนี้ไม่ออกครับ
มันผิดไงครับ ที่ผมให้ใช้ คือแบบนี้ ไม่ต้องมี like แล้วครับ
SELECT * FROM `tblpost` WHERE message = '1'
|
|
|
|
|
Date :
2011-12-18 08:23:42 |
By :
kerb |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมเขียนผิดครับ
SELECT * FROM `tblpost` WHERE message = '1'
แบบนี้ไม่ออกครับ
ยังรอความช่วยเหลืออยู่ครับ
|
|
|
|
|
Date :
2011-12-18 11:59:19 |
By :
exdo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอดูข้อมูลใน DB หน่อยครับ ผมงงทำไมถึงไม่ออก
|
|
|
|
|
Date :
2011-12-18 13:09:43 |
By :
kerb |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทุกวิธีที่ผมบอกไปนี่ work 100% นะครับ นี่ผมงงจนต้องสร้าง DB ขึ้นมา test กันเลยทีเดียว ว่าผมพลาดอะไรไปรึป่าว สรุปว่า work จิงๆนะครับ
|
|
|
|
|
Date :
2011-12-18 13:14:15 |
By :
kerb |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมเข้าใจละ ขอโทษทีครับ ผมเข้าใจผิดเอง ผมคิดว่า ใน string มี แต่ ตัวเลข 1
คุณหมายถึง ข้อความที่มีเลข 1 ผสมอยู่ด้วย เช่น Today is 1st January ประมาณนี้ใช่มั้ยครับ
|
|
|
|
|
Date :
2011-12-18 13:17:47 |
By :
kerb |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าเป็นแบบนั้นคงเลยขอบเขตของ LIKE แล้วครับ ต้องใช้ REGEXP หรือ RLIKE แทน
SELECT * FROM `tblpost` WHERE message REGEXP '1' AND message NOT REGEXP '1[0-9]+'
SELECT * FROM `tblpost` WHERE message RLIKE '1' AND message NOT RLIKE '1[0-9]+'
|
ประวัติการแก้ไข 2011-12-18 13:34:10 2011-12-18 13:35:31
|
|
|
|
Date :
2011-12-18 13:33:55 |
By :
kerb |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณอย่างสูงครับ ขอโทษทีนะครับที่อธิบายไม่เข้าใจ
|
|
|
|
|
Date :
2011-12-18 13:57:09 |
By :
exdo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้วถ้าเป็นคำละครับ ต้องเขียนยังไงครับ คือ เปลี่ยนจาก 1 เป็น คำอะไรก็ได้อะครับ
|
|
|
|
|
Date :
2011-12-18 14:04:19 |
By :
exdo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT * FROM `tblpost` WHERE message REGEXP '1' AND message NOT REGEXP '1[0-9]+'
SELECT * FROM `tblpost` WHERE message RLIKE '1' AND message NOT RLIKE '1[0-9]+'
อันนี้ครอบคลุมแค่ ตัวเลขครับถ้าเป็นคำต้องแก้แบบนี้
SELECT * FROM `tblpost` WHERE message RLIKE 'word' AND message NOT RLIKE 'word.+'
ใส่ if ไว้หน่อยละกันครับ ถ้าเป็นเลขล้วนก็ใช้อันบน ใช้วิธีแก้เลข 1 เป็นเลขอื่นเอา แต่ผมว่ารู้วิธีทำแล้วไม่ควรปล่อยมันผ่านไปนะครับ ควรจะไปอ่านให้เข้าใจว่าทำไมถึงต้องทำแบบนี้ เสียเวลาไม่เกิน 10 นาทีครับ
http://dev.mysql.com/doc/refman/5.0/en/pattern-matching.html
|
|
|
|
|
Date :
2011-12-18 14:32:51 |
By :
kerb |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ครับขอบคุณมากครับ ผมหานานมากเลยครับ ขอบคุณจริงๆครับ
|
|
|
|
|
Date :
2011-12-18 14:52:09 |
By :
exdo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เยี่ยมครับ
|
|
|
|
|
Date :
2011-12-18 16:32:56 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|