command ในการเขียน function ของ Mysql

พอดีได้ลองเขียน function ของ Mysql ก็แนวใน Oracle ครับ แต่ คำสั่งจะต่างกันบ้าง ก็เลยค่อยๆ เอามาลงเก็บไว้เป็น knowlelge-based และจะเอามาลงในนี้เรื่อยๆ เท่าที่ได้ลอง

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
- CONCAT : อันนี้ใช้คำนี้กันเกือบทุกภาษาครับไม่มีปัญหาการใช้เท่าไหร
เช่น
mysql> SELECT CONCAT('FIRST ', 'SECOND');
mysql> SELECT CONCAT(id, name, work_date) FROM employee_tbl;
 
- LPAD : ใช้คืนค่า sentence ที่มีขนาดจำนวนตัวอักษรเท่ากับ length
function:LPAD(sentence,length,word)
content:ใช้คืนค่า sentence ที่มีขนาดจำนวนตัวอักษรเท่ากับ length
	โดยถ้ามีน้อยกว่าก็จะเพิ่มค่าของ word เข้าไปทางซ้ายจนกว่า sentence จะมีจำนวนตัวอักษรเท่ากับ length
example:SELECT LPAD(199,4,0)
 
- DATE_FORMAT : ใช้จัดรูปแบบวันที่ให้เป็นไปตาม format ที่กำหนด
function:DATE_FORMAT(date,format)
content:ใช้จัดรูปแบบวันที่ให้เป็นไปตาม format ที่กำหนด
โดย format มีค่าที่เป็นไปได้ ดังนี้
	%W แทนความหมาย ชื่อวันภาษาอังกฤษ (Sunday,...,Saturday)
	%a แทนความหมาย ชื่อวันภาษาอังกฤษ (Sun,...,Sat)
	%b แทนความหมาย ชื่อเดือนภาษาอังกฤษ (Jan,...,Dec)
	%w แทนความหมาย วันที่ของสัปดาห์ (0,1,...,6) โดย 0 เริ่มจาก วันอาทิตย์
	%j แทนความหมาย วันที่ของปี (001,002,...,366)
	%D แทนความหมาย วันที่ตามด้วย suffix ภาษาอังกฤษ (1st,2nd,3rd,..)
	%d แทนความหมาย วันที่ของเดือน (01,02,...,31)
	%e แทนความหมาย วันที่ของเดือน (1,2,...,31)
	%Y แทนความหมาย ปีคริสต์ศักราชแบบ 4 หลัก
	%y แทนความหมาย ปีคริสต์ศักราชแบบ 2 หลัก
	%X แทนความหมาย ปีคริสต์ศักราชสำหรับสัปดาห์ซึ่งวันอาทิตย์เป็นวันแรกของสัปดาห์
	%x แทนความหมาย ปีคริสต์ศักราชสำหรับสัปดาห์ซึ่งวันจันทร์เป็นวันแรกของสัปดาห์
	%m แทนความหมาย เดือนที่ของปี (01,02,...,12)
	%c แทนความหมาย เดือนที่ของปี (1,2,...,12)
	%r แทนความหมาย เวลาแบบ 12 ชั่วโมง รูปแบบคือ hh:mm:ss AM|PM
	%T แทนความหมาย เวลาแบบ 24 ชั่วโมง รูปแบบคือ hh:mm:ss
	%H แทนความหมาย ชั่วโมงที่ (00,01,...,23)
	%k แทนความหมาย ชั่วโมงที่ (0,1,...,23)
	%h แทนความหมาย ชั่วโมงที่ (01,02,...,12)
	%I แทนความหมาย ชั่วโมงที่ (01,02,...,12)
	%l แทนความหมาย ชั่วโมงที่ (1,2,...,12)
	%i แทนความหมาย นาทีที่ (00,01,...,59)
	%S แทนความหมาย วินาทีที่ (00,01,...,59)
	%s แทนความหมาย วินาทีที่ (00,01,...,59)
	%p แทนความหมาย AM หรือ PM
	%U แทนความหมาย สัปดาห์ที่ของปี (0,1,...,52) โดยเริ่มนับวันอาทิตย์เป็นวันแรกของสัปดาห์
	%u แทนความหมาย สัปดาห์ที่ของปี (0,1,...,52) โดยเริ่มนับวันจันทร์เป็นวันแรกของสัปดาห์
	%V แทนความหมาย สัปดาห์ที่ของปี (1,2,...,53) โดยเริ่มนับวันอาทิตย์เป็นวันแรกของสัปดาห์
	%v แทนความหมาย สัปดาห์ที่ของปี (1,2,...,53) โดยเริ่มนับวันจันทร์เป็นวันแรกของสัปดาห์
	%% แทนความหมาย %
	example:SELECT DATE_FORMAT(CURDATE(), '%y')+43 as AD

Comments are closed.