Methods summary
public static
static
|
#
AVG( string $column_name, string|null $alias = null, boolean $distinct = false )
หาค่าเฉลี่ยของคอลัมน์ที่เลือก
หาค่าเฉลี่ยของคอลัมน์ที่เลือก
Parameters
- $column_name
- ชื่อคอลัมน์
- $alias
- ชื่อรองที่ต้องการ ถ้าไม่ระบุไม่มีชื่อรอง
- $distinct
- false (default) นับทุกคอลัมน์, true นับเฉพาะคอลัมน์ที่ไม่ซ้ำ
Returns
static
Assert
('id')->text() [==] 'AVG(id)'
|
public static
self
|
#
BETWEEN( string $column_name, string $min, string $max )
สร้างคำสั่ง BETWEEN ... AND ...
สร้างคำสั่ง BETWEEN ... AND ...
Parameters
Returns
self
Assert
('create_date', 'create_date', 'U.create_date')->text() [==] "create_date BETWEEN create_date AND U.create_date"
('create_date', 'table_name.field_name', 'U.create_date')->text() [==] "create_date BETWEEN table_name.field_name AND U.create_date"
('create_date', 'database.table', '12-1-1')->text() [==] "create_date BETWEEN database.table AND '12-1-1'"
('create_date', 0, 1)->text() [==] "create_date BETWEEN 0 AND 1"
|
public static
static
|
#
CONCAT( array $fields, string|null $alias = null, string|null $separator = null )
สร้างคำสั่ง CONCAT หรือ CONCAT_WS
สร้างคำสั่ง CONCAT หรือ CONCAT_WS
Parameters
- $fields
- รายชื่อฟิลด์
- $alias
- ชื่อรองที่ต้องการ ถ้าไม่ระบุไม่มีชื่อรอง
- $separator
- null (defailt) คืนค่าคำสั่ง CONCAT, ถ้าระบุเป็นค่าอื่นคืนค่าคำสั่ง CONCAT_WS
Returns
static
Throws
Assert
(array('fname', 'lname'))->text() [==] "CONCAT(fname, lname)"
(array('U.fname', 'U.lname'), 'displayname')->text() [==] "CONCAT(U.fname, U.lname) AS displayname"
(array('fname', 'lname'), 'displayname', ' ')->text() [==] "CONCAT_WS(' ', fname, lname) AS displayname"
|
public static
static
|
#
COUNT( string $column_name = '*', string|null $alias = null, boolean $distinct = false )
นับจำนวนเร็คคอร์ดของคอลัมน์ที่เลือก
นับจำนวนเร็คคอร์ดของคอลัมน์ที่เลือก
Parameters
- $column_name
- $alias
- $distinct
- false (default) นับทุกคอลัมน์, true นับเฉพาะคอลัมน์ที่ไม่ซ้ำ
Returns
static
Assert
('id')->text() [==] 'COUNT(id)'
|
public static
static
|
#
DATE( string $column_name, string|null $alias = null )
แยกวันที่ออกจากคอลัมน์ชนิด DATETIME
แยกวันที่ออกจากคอลัมน์ชนิด DATETIME
Parameters
- $column_name
- $alias
- ชื่อรองที่ต้องการ ถ้าไม่ระบุไม่มีชื่อรอง
Returns
static
Assert
('create_date')->text() [==] 'DATE(create_date)'
('create_date', 'date')->text() [==] 'DATE(create_date) AS date'
|
public static
static
|
#
DATEDIFF( string $column_name1, string $column_name2, string $alias = null )
หาความแตกต่างระหว่างวัน (คืนค่าเป็นจำนวนวันที่แตกต่างกัน)
หาความแตกต่างระหว่างวัน (คืนค่าเป็นจำนวนวันที่แตกต่างกัน)
Parameters
- $column_name1
- $column_name2
- $alias
Returns
static
Assert
('create_date', Sql::NOW())->text() [==] "DATEDIFF(create_date, NOW())"
('2017-04-04', 'create_date')->text() [==] "DATEDIFF('2017-04-04', create_date)"
|
public static
static
|
#
DATE_FORMAT( string $column_name, string $format, string|null $alias = null )
จัดรูปแบบของวันที่ตอนแสดงผล
จัดรูปแบบของวันที่ตอนแสดงผล
Parameters
- $column_name
- $format
- $alias
- ชื่อรองที่ต้องการ ถ้าไม่ระบุไม่มีชื่อรอง
Returns
static
Assert
(Sql::NOW(), '%h:%i')->text() [==] "DATE_FORMAT(NOW(), '%h:%i')"
('create_date', '%Y-%m-%d', 'today')->text() [==] "DATE_FORMAT(create_date, '%Y-%m-%d') AS today"
|
public static
static
|
#
DAY( string $column_name, string|null $alias = null )
แยกวันที่ออกจากคอลัมน์ชนิด DATE DATETIME
แยกวันที่ออกจากคอลัมน์ชนิด DATE DATETIME
Parameters
- $column_name
- $alias
- ชื่อรองที่ต้องการ ถ้าไม่ระบุไม่มีชื่อรอง
Returns
static
Assert
('date')->text() [==] 'DAY(date)'
('date', 'd')->text() [==] 'DAY(date) AS d'
|
public static
static
|
#
DISTINCT( string $column_name )
คืนค่าข้ออมูลที่ไม่ซ้ำกัน
คืนค่าข้ออมูลที่ไม่ซ้ำกัน
Parameters
Returns
static
Assert
('id')->text() [==] 'DISTINCT id'
|
public static
static
|
#
FORMAT( string $column_name, string $format, string|null $alias = null )
จัดรูปแบบของคอลัมน์ตอนแสดงผล.
จัดรูปแบบของคอลัมน์ตอนแสดงผล.
Parameters
- $column_name
- $format
- $alias
- ชื่อรองที่ต้องการ ถ้าไม่ระบุไม่มีชื่อรอง
Returns
static
Assert
(Sql::NOW(), 'Y-m-d')->text() [==] "FORMAT(NOW(), 'Y-m-d')"
('create_date', 'Y-m-d', 'today')->text() [==] "FORMAT(create_date, 'Y-m-d') AS today"
|
public static
self
|
#
GROUP_CONCAT( string $column_name, string|null $alias = null, string $separator = ',', boolean $distinct = false, string|array $order = null )
สร้างคำสั่ง GROUP_CONCAT
Parameters
- $column_name
- $alias
- ชื่อรองที่ต้องการ ถ้าไม่ระบุไม่มีชื่อรอง
- $separator
- ข้อความเชื่อมฟิลด์เข้าด้วยกัน ค่าเริมต้นคือ ,
- $distinct
- false (default) คืนค่ารายการที่ไม่ซ้ำ
- $order
- เรียงลำดับ
Returns
self
Assert
('C.topic', 'topic', ', ')->text() [==] "GROUP_CONCAT(C.topic SEPARATOR ', ') AS topic"
|
public static
static
|
#
HOUR( string $column_name, string|null $alias = null )
แยกชั่วโมงออกจากคอลัมน์ชนิด DATETIME.
แยกชั่วโมงออกจากคอลัมน์ชนิด DATETIME.
Parameters
- $column_name
- $alias
- ชื่อรองที่ต้องการ ถ้าไม่ระบุไม่มีชื่อรอง
Returns
static
Assert
('create_date')->text() [==] 'HOUR(create_date)'
('create_date', 'date')->text() [==] 'HOUR(create_date) AS date'
|
public static
self
|
#
IFNULL( string $column_name1, string $column_name2, string|null $alias = null )
ฟังก์ชั่นสร้างคำสั่ง IFNULL
ฟังก์ชั่นสร้างคำสั่ง IFNULL
Parameters
- $column_name1
- $column_name2
- $alias
- ถ้าระบุจะมีการเติม alias ให้กับคำสั่ง
Returns
self
Assert
('create_date', 'U.create_date')->text() [==] "IFNULL(create_date, U.create_date)"
('create_date', 'U.create_date', 'test')->text() [==] "IFNULL(create_date, U.create_date) AS test"
|
public static
self
|
#
ISNOTNULL( string $column_name )
ฟังก์ชั่นสร้างคำสั่ง IS NOT NULL
ฟังก์ชั่นสร้างคำสั่ง IS NOT NULL
Parameters
Returns
self
Assert
('U.id')->text() [==] "U.id IS NOT NULL"
|
public static
self
|
#
ISNULL( string $column_name )
ฟังก์ชั่นสร้างคำสั่ง IS NULL
ฟังก์ชั่นสร้างคำสั่ง IS NULL
Parameters
Returns
self
Assert
('U.id')->text() [==] "U.id IS NULL"
|
public static
static
|
#
MAX( string $column_name, string|null $alias = null )
หาค่าสูงสุด
Parameters
- $column_name
- $alias
- ชื่อรองที่ต้องการ ถ้าไม่ระบุไม่มีชื่อรอง
Returns
static
Assert
('id')->text() [==] 'MAX(id)'
|
public static
static
|
#
MIN( string $column_name, string|null $alias = null )
หาค่าต่ำสุด
Parameters
- $column_name
- $alias
- ชื่อรองที่ต้องการ ถ้าไม่ระบุไม่มีชื่อรอง
Returns
static
Assert
('id')->text() [==] 'MIN(id)'
|
public static
static
|
#
MINUTE( string $column_name, string|null $alias = null )
แยกนาทีออกจากคอลัมน์ชนิด DATETIME.
แยกนาทีออกจากคอลัมน์ชนิด DATETIME.
Parameters
- $column_name
- $alias
- ชื่อรองที่ต้องการ ถ้าไม่ระบุไม่มีชื่อรอง
Returns
static
Assert
('create_date')->text() [==] 'MINUTE(create_date)'
('create_date', 'date')->text() [==] 'MINUTE(create_date) AS date'
|
public static
static
|
#
MONTH( string $column_name, string|null $alias = null )
แยกเดือนออกจากคอลัมน์ชนิด DATE DATETIME
แยกเดือนออกจากคอลัมน์ชนิด DATE DATETIME
Parameters
- $column_name
- $alias
- ชื่อรองที่ต้องการ ถ้าไม่ระบุไม่มีชื่อรอง
Returns
static
Assert
('date')->text() [==] 'MONTH(date)'
('date', 'm')->text() [==] 'MONTH(date) AS m'
|
public static
static
|
#
NEXT( string $field, string $table_name, mixed $condition = null, array $alias = null, string $operator = 'AND', string $id = 'id', string $id,… )
ฟังก์ชั่นสร้าง SQL สำหรับหาค่าสูงสุด + 1
ใช้ในการหาค่า id ถัดไป
ฟังก์ชั่นสร้าง SQL สำหรับหาค่าสูงสุด + 1
ใช้ในการหาค่า id ถัดไป
Parameters
- $field
- ชื่อฟิลด์ที่ต้องการหาค่าสูงสุด
- $table_name
- ชื่อตาราง
- $condition
- (optional) query WHERE
- $alias
- $values (optional) แอเรย์สำหรับรับค่า value สำหรับการ bind
- $operator
- $alias (optional) ชื่อฟิลด์ที่ใช้คืนค่า ไม่ระบุ (null) หมายถึงไม่ต้องการชื่อฟิลด์
- $id
- $operator (optional) เช่น AND หรือ OR
- $id,…
- (optional )ชื่อฟิลด์ที่เป็น key
Returns
static
Assert
('id', 'world')->text() [==] '(1 + IFNULL((SELECT MAX(id) FROM world AS X), 0))'
('id', 'world', array(array('module_id', 'D.id')), 'next_id')->text() [==] '(1 + IFNULL((SELECT MAX(id) FROM world AS X WHERE module_id = D.id), 0)) AS next_id'
('id', 'world', array(array('module_id', 'D.id')), null)->text() [==] '(1 + IFNULL((SELECT MAX(id) FROM world AS X WHERE module_id = D.id), 0))'
|
public static
static
|
#
NOW( string|null $alias = null )
คืนค่าวันที่และเวลาปัจจุบัน
คืนค่าวันที่และเวลาปัจจุบัน
Parameters
- $alias
- ชื่อรองที่ต้องการ ถ้าไม่ระบุไม่มีชื่อรอง
Returns
static
Assert
()->text() [==] 'NOW()'
('id')->text() [==] 'NOW() AS id'
|
public static
self
|
#
POSITION( string $substr, string $str, string|null $alias = null, integer $pos = 0 )
ค้นหาข้อความ ไม่พบคืนค่า 0, ตัวแรกคือ 1
ค้นหาข้อความ ไม่พบคืนค่า 0, ตัวแรกคือ 1
Parameters
- $substr
- ข้อความที่ค้นหา ถ้าเป็นชื่อฟิลด์ต้องครอบด้วย ``
- $str
- ข้อความต้นฉบับ ถ้าเป็นชื่อฟิลด์ต้องครอบด้วย ``
- $alias
- ชื่อรองที่ต้องการ ถ้าไม่ระบุไม่มีชื่อรอง
- $pos
- ตำแหน่งเริ่มต้นค้นหา (default) หรือไม่ระบุ ค้นหาตั้งแต่ตัวแรก
Returns
self
Assert
('find', 'C.topic')->text() [==] "LOCATE('find', C.topic)"
|
public static
static
|
#
RAND( string $alias = null, string|null $alias,… )
สุ่มตัวเลข
Parameters
- $alias
- $column_name
- $alias,…
- ชื่อรองที่ต้องการ ถ้าไม่ระบุไม่มีชื่อรอง
Returns
static
Assert
()->text() [==] 'RAND()'
('id')->text() [==] 'RAND() AS id'
|
public static
static
|
#
SECOND( string $column_name, string|null $alias = null )
แยกวินาทีออกจากคอลัมน์ชนิด DATETIME
แยกวินาทีออกจากคอลัมน์ชนิด DATETIME
Parameters
- $column_name
- $alias
- ชื่อรองที่ต้องการ ถ้าไม่ระบุไม่มีชื่อรอง
Returns
static
Assert
('create_date')->text() [==] 'SECOND(create_date)'
('create_date', 'date')->text() [==] 'SECOND(create_date) AS date'
|
public static
static
|
#
SUM( string $column_name, string|null $alias = '', boolean $distinct = false )
ผลรวมของคอลัมน์ที่เลือก
Parameters
- $column_name
- $alias
- $distinct
- false (default) รวมทุกคอลัมน์, true รวมเฉพาะคอลัมน์ที่ไม่ซ้ำ
Returns
static
Assert
('id')->text() [==] 'SUM(id)'
('table_name.id', 'id')->text() [==] 'SUM(table_name.id) AS id'
('U.id', 'id', true)->text() [==] 'SUM(DISTINCT U.id) AS id'
('U1.id', 'id', true)->text() [==] 'SUM(DISTINCT U1.id) AS id'
|
public static
static
|
#
TIMEDIFF( string $column_name1, string $column_name2, string $alias = null )
หาความแตกต่างระหว่างเวลา (คืนค่าเป็น H:m:i ที่แตกต่างกัน)
หาความแตกต่างระหว่างเวลา (คืนค่าเป็น H:m:i ที่แตกต่างกัน)
Parameters
- $column_name1
- $column_name2
- $alias
Returns
static
Assert
('create_date', Sql::NOW())->text() [==] "TIMEDIFF(create_date, NOW())"
('2017-04-04', 'create_date')->text() [==] "TIMEDIFF('2017-04-04', create_date)"
|
public static
static
|
#
TIMESTAMPDIFF( string $unit, string $column_name1, string $column_name2, string $alias = null )
หาความแตกต่างระหว่างเวลา (คืนค่าตามรูปแบบ $unit)
หาความแตกต่างระหว่างเวลา (คืนค่าตามรูปแบบ $unit)
Parameters
- $unit
- FRAC_SECOND (microseconds), SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, or YEAR
- $column_name1
- $column_name2
- $alias
Returns
static
Assert
('HOUR', 'create_date', Sql::NOW())->text() [==] "TIMESTAMPDIFF(HOUR, create_date, NOW())"
('MONTH', '2017-04-04', 'create_date')->text() [==] "TIMESTAMPDIFF(MONTH, '2017-04-04', create_date)"
|
public static
static
|
#
WHERE( mixed $condition, string $operator = 'AND', string $id = 'id' )
สร้างคำสั่ง WHERE
Parameters
- $condition
- $operator
- (optional) เช่น AND หรือ OR
- $id
- (optional )ชื่อฟิลด์ที่เป็น key
Returns
static
Assert
WHERE(1)->text() [==] "id = 1"
WHERE('1')->text() [==] "id = '1'"
WHERE(0.1)->text() [==] "id = 0.1"
WHERE('ทดสอบ')->text() [==] "id = 'ทดสอบ'"
WHERE(null)->text() [==] "id = NULL"
WHERE(0x64656)->text() [==] "id = 411222"
WHERE('SELECT * FROM')->text() [==] "id = :id0"
WHERE(Sql::create('EXISTS SELECT FROM WHERE'))->text() [==] "EXISTS SELECT FROM WHERE"
WHERE(array('id', '=', 1))->text() [==] "id = 1"
WHERE(array('U.id', '2017-01-01 00:00:00'))->text() [==] "U.id = '2017-01-01 00:00:00'"
WHERE(array('id', 'IN', array(1, '2', null)))->text() [==] "id IN (1, '2', NULL)"
WHERE(array('id', 'SELECT * FROM'))->text() [==] "id = :id0"
WHERE(array('U.id', 'NOT IN', Sql::create('SELECT * FROM')))->text() [==] "U.id NOT IN SELECT * FROM"
WHERE(array(array('id', 'IN', array(1, '2', null))))->text() [==] "id IN (1, '2', NULL)"
WHERE(array(array('U.id', 1), array('U.id', '!=', '1')))->text() [==] "U.id = 1 AND U.id != '1'"
WHERE(array(array(Sql::MONTH('create_date'), 1), array(Sql::YEAR('create_date'), 1)))->text() [==] "MONTH(create_date) = 1 AND YEAR(create_date) = 1"
WHERE(array(array('id', array(1, 'a')), array('id', array('G.id', 'G.id2'))))->text() [==] "id IN (1, 'a') AND id IN (G.id, G.id2)"
WHERE(array(array('id', array('', 'th'))))->text() [==] "id IN ('', 'th')"
WHERE(array(Sql::YEAR('create_date'), Sql::YEAR('create_date')))->text() [==] "YEAR(create_date) = YEAR(create_date)"
WHERE(array('ip', 'NOT IN', array('', '192.168.1.2')))->text() [==] "ip NOT IN ('', '192.168.1.2')"
WHERE(array(1, 1))->text() [==] "1 = 1"
|
public static
static
|
#
YEAR( string $column_name, string|null $alias = null )
แยกปีออกจากคอลัมน์ชนิด DATE DATETIME.
แยกปีออกจากคอลัมน์ชนิด DATE DATETIME.
Parameters
- $column_name
- $alias
- ชื่อรองที่ต้องการ ถ้าไม่ระบุไม่มีชื่อรอง
Returns
static
Assert
('date')->text() [==] 'YEAR(date)'
('date', 'y')->text() [==] 'YEAR(date) AS y'
|
public
|
#
__construct( string $sql = null )
class constructer
Parameters
|
public static
|
#
create( string $sql )
สร้าง Object Sql
Parameters
|
public static
string
|
#
fieldName( string $column_name )
ใส่ `` ครอบชื่อคอลัมน์
ชื่อคอลัมน์ต้องเป็น ภาษาอังกฤษ ตัวเลข และ _ เท่านั้น
ถ้ามีอักขระอื่นนอกจากนี้ คืนค่า ข้อความที่ส่งมา ครอบด้วย ''
ใส่ `` ครอบชื่อคอลัมน์
ชื่อคอลัมน์ต้องเป็น ภาษาอังกฤษ ตัวเลข และ _ เท่านั้น
ถ้ามีอักขระอื่นนอกจากนี้ คืนค่า ข้อความที่ส่งมา ครอบด้วย ''
Parameters
Returns
string
Throws
Assert
('U.id') [==] 'U.id'
('U1.id') [==] 'U1.id'
('U1.id DESC') [==] 'U1.id DESC'
('field_name') [==] 'field_name'
('table_name.field_name') [==] 'table_name.field_name'
('table_name.field_name') [==] 'table_name.field_name'
('table_name.field_name') [==] 'table_name.field_name'
('table_name.field_name') [==] 'table_name.field_name'
('table_name.field_name ASC') [==] 'table_name.field_name ASC'
('0x64656') [==] "0x64656"
(0x64656) [==] 411222
('DATE(day)') [==] "'DATE(day)'"
('DROP table') [==] "'DROP table'"
(array()) [throws] InvalidArgumentException
|
public
array
|
#
getValues( array $values = array() )
คืนค่าแอเร์ยเก็บพารามิเตอร์สำหรับการ bind รวมกับ $values
คืนค่าแอเร์ยเก็บพารามิเตอร์สำหรับการ bind รวมกับ $values
Parameters
Returns
array
|
public static
string
|
#
quoteValue( mixed $column_name, array $value, & $values )
แปลงค่า Value สำหรับใช้ใน query
แปลงค่า Value สำหรับใช้ใน query
Parameters
- $column_name
- $value
- $value
- $values แอเรย์สำหรับรับค่า value สำหรับการ bind
- $values
Returns
string
Throws
Assert
('id', 'ทดสอบ', $array) [==] "'ทดสอบ'"
('id', 'test', $array) [==] "'test'"
('id', 'abcde012345', $array) [==] "'abcde012345'"
('id', 123456, $array) [==] 123456
('id', 0.1, $array) [==] 0.1
('id', null, $array) [==] 'NULL'
('id', 'U.id', $array) [==] "U.id"
('id', 'U.id', $array) [==] 'U.id'
('id', 'domain.tld', $array) [==] "'domain.tld'"
('id', 'table_name.id', $array) [==] 'table_name.id'
('id', 'table_name.id', $array) [==] 'table_name.id'
('id', 'table_name.id', $array) [==] 'table_name.id'
('id', 'INSERT INTO', $array) [==] ':id0'
('id', array(1, '2', null), $array) [==] "(1, '2', NULL)"
('id', '0x64656', $array) [==] ':id0'
('id', 0x64656, $array) [==] 411222
('table_name.id', '0x64656', $array) [==] ':tablenameid0'
('U1.id', '0x64656', $array) [==] ':u1id0'
('U.id', '0x64656', $array) [==] ':uid0'
|
public static
self
|
#
strValue( string $value )
ฟังก์ชั่นสำหรับรับค่าเป็นสตริงค์เท่านั้น
ผลลัพท์จะถูกครอบด้วย '' (ฟันหนู)
ฟังก์ชั่นสำหรับรับค่าเป็นสตริงค์เท่านั้น
ผลลัพท์จะถูกครอบด้วย '' (ฟันหนู)
Parameters
Returns
self
|
public
string
|
#
text( string $key = null )
คืนค่าคำสั่ง SQL เป็น string
ถ้า $sql เป็น null จะคืนค่า :$key ใช้สำหรับการ bind
คืนค่าคำสั่ง SQL เป็น string
ถ้า $sql เป็น null จะคืนค่า :$key ใช้สำหรับการ bind
Parameters
Returns
string
|