1.MySQL FULLTEXT
สำหรับ MySQL FULLTEXT นั้นรองรับ DataType อยู่ 3 ประเภทคือ CHAR VARCHAR แล้วก็ TEXT ซึ่งในการกำหนดคุณสมบัติของ Table และ Column ให้เป็นแบบ FULLTEXT สามารถกำหนดได้ในขั้นตอนการ CREATE TABLE
CREATE TABLE `customer` (
`CustomerID` varchar(4) NOT NULL,
`Name` varchar(50) NOT NULL,
`Email` varchar(50) NOT NULL,
`CountryCode` varchar(2) NOT NULL,
`Budget` double NOT NULL,
`Used` double NOT NULL,
PRIMARY KEY (`CustomerID`),
FULLTEXT (`Name`,`Email`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
`CustomerID` varchar(4) NOT NULL,
`Name` varchar(50) NOT NULL,
`Email` varchar(50) NOT NULL,
`CountryCode` varchar(2) NOT NULL,
`Budget` double NOT NULL,
`Used` double NOT NULL,
PRIMARY KEY (`CustomerID`),
FULLTEXT (`Name`,`Email`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
หรือในกรณีที่มี Table อยู่แล้วก็สามารถใช้คำสั่ง ALTER ได้เช่นเดียวกัน
ALTER TABLE `customer` ADD FULLTEXT(`Name`,`Email`);
ตัวอย่างนี้กำหนดให้เป็นแบบ FULLTEXT มี `Name`,`Email`
ทดสอบการใช้งาน MySQL FULLTEXT
INSERT INTO `customer` VALUES ('C001', 'Win Weerachai', 'win.weerachai@thaicreate.com', 'TH', 1000000, 600000);
INSERT INTO `customer` VALUES ('C002', 'John Smith', 'john.smith@thaicreate.com', 'EN', 2000000, 800000);
INSERT INTO `customer` VALUES ('C003', 'Jame Born', 'jame.born@thaicreate.com', 'US', 3000000, 600000);
INSERT INTO `customer` VALUES ('C004', 'Chalee Angel', 'chalee.angel@thaicreate.com', 'US', 4000000, 100000);
INSERT INTO `customer` VALUES ('C002', 'John Smith', 'john.smith@thaicreate.com', 'EN', 2000000, 800000);
INSERT INTO `customer` VALUES ('C003', 'Jame Born', 'jame.born@thaicreate.com', 'US', 3000000, 600000);
INSERT INTO `customer` VALUES ('C004', 'Chalee Angel', 'chalee.angel@thaicreate.com', 'US', 4000000, 100000);
การค้นหาด้วย MySQL FULLTEXT
Sample 1
SELECT * FROM `customer` WHERE MATCH (Name,Email) AGAINST ('Born Weerachai')
CustomerID
|
Name
|
Email
|
CountryCode
|
Budget
|
Used
|
|---|---|---|---|---|---|
C001
| Win Weerachai | win.weerachai@thaicreate.com |
TH
| 1000000 | 600000 |
C003
| Jame Born | jame.smith@thaicreate.com |
US
| 3000000 | 600000 |
2.SQL MIN
เป็นคำสั่งที่ใช้สำหรับการระบุเงื่อนไขการเลือกข้อมูลในตาราง (Table) โดยหาค่าต่ำสุดในฟิวด์
Database : MySQL,Microsoft Access,SQL Server,Oracle
Syntax
SELECT MIN(Column/Field) AS [New-Field] FROM [Table-Name]
Table : customer
CustomerID
|
Name
|
Email
|
CountryCode
|
Budget
|
Used
|
|---|---|---|---|---|---|
C001
| Win Weerachai | win.weerachai@thaicreate.com |
TH
| 1000000 | 600000 |
C002
| John Smith | john.smith@thaicreate.com |
EN
| 2000000 | 800000 |
C003
| Jame Born | jame.born@thaicreate.com |
US
| 3000000 | 600000 |
C004
| Chalee Angel | chalee.angel@thaicreate.com |
US
| 4000000 | 100000 |
Sample1 การเลือกข้อมูล Budget ต่ำที่สุด
SELECT MIN(Budget) AS MinBudget FROM customer
Output
MinBudget
|
|---|
1000000
|
3.MYSQL DAYOFWEEK()
เป็นคำสั่งของ MySQL กับ DateTime โดย DAYOFWEEK ใช้หาค่าวันของสัปดาห์ (1=Sunday ... 7=Saturday)
Database : MySQL
Syntax
Sample
เป็นคำสั่งของ MySQL กับ DateTime โดย DAYOFWEEK ใช้หาค่าวันของสัปดาห์ (1=Sunday ... 7=Saturday)
1 = Sunday
2 = Monday
3 = Tuesday
4 = Wednesday
5 = Thursday
6 = Friday
7 = Saturday
2 = Monday
3 = Tuesday
4 = Wednesday
5 = Thursday
6 = Friday
7 = Saturday
Database : MySQL
Syntax
DAYOFWEEK(date)
Sample
SELECT DAYOFWEEK('2007-02-03');
-> 7
-> 7
4.MYSQL WEEK()
เป็นคำสั่งของ MySQL กับ DateTime โดย WEEK ใช้ในการหาสัปดาห์ของปี
Database : MySQL
Syntax
Sample
เป็นคำสั่งของ MySQL กับ DateTime โดย WEEK ใช้ในการหาสัปดาห์ของปี
Database : MySQL
Syntax
WEEK(date[,mode])
The following table describes how the
mode argument works.| Mode | First day of week | Range | Week 1 is the first week … |
|---|---|---|---|
| 0 | Sunday | 0-53 | with a Sunday in this year |
| 1 | Monday | 0-53 | with more than 3 days this year |
| 2 | Sunday | 1-53 | with a Sunday in this year |
| 3 | Monday | 1-53 | with more than 3 days this year |
| 4 | Sunday | 0-53 | with more than 3 days this year |
| 5 | Monday | 0-53 | with a Monday in this year |
| 6 | Sunday | 1-53 | with more than 3 days this year |
| 7 | Monday | 1-53 | with a Monday in this year |
Sample
SELECT WEEK('2008-02-20');
-> 7
SELECT WEEK('2008-02-20',0);
-> 7
SELECT WEEK('2008-02-20',1);
-> 8
SELECT WEEK('2008-12-31',1);
-> 35
-> 7
SELECT WEEK('2008-02-20',0);
-> 7
SELECT WEEK('2008-02-20',1);
-> 8
SELECT WEEK('2008-12-31',1);
-> 35
5.MYSQL LAST_DAY()
เป็นคำสั่งของ MySQL กับ DateTime โดย LAST_DAY ใช้ในการหาวันที่สุดท้ายของเดือน
Database : MySQL
Syntax
Sample
เป็นคำสั่งของ MySQL กับ DateTime โดย LAST_DAY ใช้ในการหาวันที่สุดท้ายของเดือน
Database : MySQL
Syntax
LAST_DAY(date)
Sample
SELECT LAST_DAY('2003-02-05');
-> 2003-02-28
SELECT LAST_DAY('2004-02-05');
-> 2004-02-29
SELECT LAST_DAY('2004-01-01 01:01:01');
-> 2004-01-31
SELECT LAST_DAY('2003-03-32');
-> NULL
-> 2003-02-28
SELECT LAST_DAY('2004-02-05');
-> 2004-02-29
SELECT LAST_DAY('2004-01-01 01:01:01');
-> 2004-01-31
SELECT LAST_DAY('2003-03-32');
-> NULL
6.MYSQL SUBDATE()
เป็นคำสั่งของ MySQL กับ DateTime โดย SUBDATE ใช้ในการหา บวก หรือ ลบ ค่าของวันที่ ใน Format ต่าง ๆ Database : MySQL
Syntax
SUBDATE(date,INTERVAL expr unit), SUBDATE(expr,days)
expr argument for each unit value.unit Value | Expected expr Format |
|---|---|
MICROSECOND | MICROSECONDS |
SECOND | SECONDS |
MINUTE | MINUTES |
HOUR | HOURS |
DAY | DAYS |
WEEK | WEEKS |
MONTH | MONTHS |
QUARTER | QUARTERS |
YEAR | YEARS |
SECOND_MICROSECOND | 'SECONDS.MICROSECONDS' |
MINUTE_MICROSECOND | 'MINUTES:SECONDS.MICROSECONDS' |
MINUTE_SECOND | 'MINUTES:SECONDS' |
HOUR_MICROSECOND | 'HOURS:MINUTES:SECONDS.MICROSECONDS' |
HOUR_SECOND | 'HOURS:MINUTES:SECONDS' |
HOUR_MINUTE | 'HOURS:MINUTES' |
DAY_MICROSECOND | 'DAYS HOURS:MINUTES:SECONDS.MICROSECONDS' |
DAY_SECOND | 'DAYS HOURS:MINUTES:SECONDS' |
DAY_MINUTE | 'DAYS HOURS:MINUTES' |
DAY_HOUR | 'DAYS HOURS' |
YEAR_MONTH | 'YEARS-MONTHS' |
ทั้งนี้ยังสามารถใช้ INTERVAL เข้ามา + หรือ - ค่าวันที่ได้เช่นเดียวกัน
date + INTERVAL expr unit
date - INTERVAL expr unit
date - INTERVAL expr unit
Sample
SELECT DATE_SUB('2008-01-02', INTERVAL 31 DAY);
-> 2007-12-02
SELECT SUBDATE('2008-01-02', INTERVAL 31 DAY);
-> 2007-12-02
-> 2007-12-02
SELECT SUBDATE('2008-01-02', INTERVAL 31 DAY);
-> 2007-12-02
7.MYSQL TIME_FORMAT()
เป็นคำสั่งของ MySQL กับ DateTime โดย TIME_FORMAT ใช้ในการหาหรือแปลงค่า ของเวลาในรูปแบบต่างๆ Database : MySQL
Syntax
TIME_FORMAT(time,format)
| Specifier | Description |
|---|---|
| %a | Abbreviated weekday name (Sun..Sat) |
| %b | Abbreviated month name (Jan..Dec) |
| %c | Month, numeric (0..12) |
| %D | Day of the month with English suffix (0th, 1st, 2nd, 3rd, …) |
| %d | Day of the month, numeric (00..31) |
| %e | Day of the month, numeric (0..31) |
| %f | Microseconds (000000..999999) |
| %H | Hour (00..23) |
| %h | Hour (01..12) |
| %I | Hour (01..12) |
| %i | Minutes, numeric (00..59) |
| %j | Day of year (001..366) |
| %k | Hour (0..23) |
| %l | Hour (1..12) |
| %M | Month name (January..December) |
| %m | Month, numeric (00..12) |
| %p | AM or PM |
| %r | Time, 12-hour (hh:mm:ss followed by AM or PM) |
| %S | Seconds (00..59) |
| %s | Seconds (00..59) |
| %T | Time, 24-hour (hh:mm:ss) |
| %U | Week (00..53), where Sunday is the first day of the week |
| %u | Week (00..53), where Monday is the first day of the week |
| %V | Week (01..53), where Sunday is the first day of the week; used with %X |
| %v | Week (01..53), where Monday is the first day of the week; used with %x |
| %W | Weekday name (Sunday..Saturday) |
| %w | Day of the week (0=Sunday..6=Saturday) |
| %X | Year for the week where Sunday is the first day of the week, numeric, four digits; used with %V |
| %x | Year for the week, where Monday is the first day of the week, numeric, four digits; used with %v |
| %Y | Year, numeric, four digits |
| %y | Year, numeric (two digits) |
| %% | A literal “%” character |
| %x | x, for any “x” not listed above |
Sample
SELECT TIME_FORMAT('100:00:00', '%H %k %h %I %l');
-> 100 100 04 04 4
-> 100 100 04 04 4
8.MYSQL REVERSE()
เป็นคำสั่งของ MySQL ใช้ในการสลับตำแหน่งของข้อความDatabase : MySQL
Syntax
REVERSE(str)
Sample
SELECT REVERSE('abc');
-> cba
SELECT REVERSE('thaicreate');
-> etaerciaht
-> cba
SELECT REVERSE('thaicreate');
-> etaerciaht
9.MYSQL REPEAT()
เป็นคำสั่งของ MySQL ใช้ในการแทนที่แสดงจำนวนข้อความ ตามจำนวน Loop ที่ต้องการDatabase : MySQL
Syntax
REPEAT(str,count)
Sample
SELECT REPEAT('MySQL', 3);
-> MySQLMySQLMySQL
SELECT REPEAT('ThaiCreate', 5);
-> ThaiCreateThaiCreateThaiCreateThaiCreateThaiCreate
-> MySQLMySQLMySQL
SELECT REPEAT('ThaiCreate', 5);
-> ThaiCreateThaiCreateThaiCreateThaiCreateThaiCreate
10.MYSQL INSTR()
เป็นคำสั่งของ MySQL ใช้ในการค้นหาตำแหน่งของข้อความ จากตำแหน่งแรกที่ค้นพบDatabase : MySQL
Syntax
INSTR(str,substr)
Sample
SELECT INSTR('foobarbar', 'bar');
-> 4
SELECT INSTR('xbar', 'foobar');
-> 0
อ้างอิง : http://www.thaicreate.com/
-> 4
SELECT INSTR('xbar', 'foobar');
-> 0
อ้างอิง : http://www.thaicreate.com/

ไม่มีความคิดเห็น:
แสดงความคิดเห็น