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.
สร้างคำสั่ง 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
|