อยากถามเรื่องการ select ข้อมูลจาก database ครับ..........................
SELECT * FROM ชื่อtable WHERE ชื่อfield like '45%' หรือ
SELECT * FROM ชื่อtable WHERE ชื่อfield like '%45%'
แบบนี้
like เอาไว้ศึกษาต่อ
http://www.techonthenet.com/sql/like.php
Date :
2010-09-10 13:00:08
By :
- -
เพื่อทดสอบเลยต้องสร้างตารางมาดังนี้ค่ะ
Code (PHP)
DROP TABLE IF EXISTS `a1`;
CREATE TABLE `a1` (
`id` int(10) unsigned zerofill NOT NULL AUTO_INCREMENT,
`data` varchar(45) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=tis620;
แล้วก้อ insert sample data ลงไป
Code (PHP)
insert A1 (`data`)
values ('4305454') ,
('429453454'),
('455634635'),
('45750023') ,
('450324324'),
('42002323'),
('45006556');
และทดสอบด้วย
Code (PHP)
SELECT `id` ,`data`
FROM `A1`
WHERE `data` REGEXP '^45.*$'
LIMIT 2 ;
ประวัติการแก้ไข 2010-09-10 13:40:51
Date :
2010-09-10 13:40:13
By :
blurEyes
มันสนุกตรงที่ สามารถทำได้หลายวิธีนี่แหละ ^^
Date :
2010-09-10 13:49:54
By :
ultrasiam
แตกต่างแต่ไม่แตกแยก
Date :
2010-09-11 19:22:32
By :
nirunsu
จากอ่านมาแล้วทดลอง ได้หมดครับ อยู่ที่ว่าแบบไหน เร็วสุดในการ query ครับ ใช้กับ data type ประเภทไหน ครับ จะเวิร์ค
Date :
2010-09-11 23:14:58
By :
Begin
ใช้ REGEXP กับ SUBSTR อันไหนเร็วกว่ากัน
Date :
2010-09-12 01:13:46
By :
PlaKriM
REGEXP ช้าที่สุดอยู่แล้วค่ะ มีกระบวนการเกิดขึ้นเยอะกว่า แต่ก้อยืดหยุ่นที่สุดค่ะ
บาง query ต้องใช้ Regular Expression อย่างเดียวเท่่านั้น ถึงจะทำได้
เช่นการตัดคำของภาษาไทย เป็นต้น << อันนี้กำลัง optimize อยู่ค่ะเสร็จมะรัยจะเอามาโพส
ประวัติการแก้ไข 2010-09-12 03:27:09 2010-09-12 03:28:04
Date :
2010-09-12 03:19:43
By :
blurEyes
Load balance : Server 02