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 |