วิธีการแสดงผลวันที่เป็นภาษาที่ต้องการด้วยฟังก์ชัน TO_CHAR

หลาย ๆ คนคงเคยเจอปัญหาว่าฐานข้อมูลของเรากำหนด default การจัดเก็บข้อมูลวันที่ไว้เป็นปี ค.ศ. แต่ระบบที่เราพัฒนาต้องแสดงผลเป็นปี พ.ศ. เราต้องทำอย่างไร วันนี้จึงขอนำเสนอวิธีการแสดงผลวันที่เป็นภาษาที่เราต้องการด้วยฟังก์ชัน TO_CHAR กันค่ะ โดยที่ฟังก์ชัน TO_CHAR ทำหน้าที่ในการแปลงข้อมูลตัวเลขและข้อมูลวันที่เป็นตัวอักษร ซึ่งมีรูปแบบ Syntax ดังนี้ TO_CHAR( input_value, [format_mask], [nls_parameter] ) พารามิเตอร์ของฟังก์ชัน TO_CHAR คือ input_value (จำเป็น): ค่าของวันที่ที่ต้องการจะแปลงค่า format_mask (ทางเลือก): เป็นรูปแบบที่ต้องการให้แสดง หากไม่ได้ระบุไว้จะแสดงตามค่า default ที่กำหนดไว้ nls_parameter (ทางเลือก): เป็น nls language ที่จะใช้ในการแปลงค่า ต่อไปนี้เป็นตัวอย่าง format_mask ที่ใช้บ่อย ๆ โดยแต่ละ format_mask สามารถนำผสมรวมกันได้ เพื่อให้ได้ค่าการแสดงผลที่เราต้องการ format_mask คำอธิบาย YEAR อ่านค่าปีเป็นตัวอักษร YYYY, YYY, YY, Y แสดงจำนวนหลักสุดท้ายของปีตามที่ระบุ MM แสดงเดือน (01-12, JAN = 01) MON แสดงชื่อเดือนแบบย่อ MONTH แสดงชื่อเดือนแบบเต็ม D แสดงวันในสัปดาห์ DAY แสดงชื่อของวัน DD แสดงวันของเดือน (1-31) DDD แสดงวันของปี (1-366) DY แสดงชื่อย่อของวัน HH แสดงชั่วโมงของวัน (1-12) HH12 แสดงชั่วโมงของวัน (1-12) HH24 แสดงชั่วโมงของวัน (0-23) MI แสดงนาที (0-59) SS แสดงวินาที (0-59) คราวนี้ลองมาเขียน query เพื่อดูตัวอย่างค่าของ format_mask แต่ละตัวกันว่าจะแสดงผลออกมาเป็นอย่างไร จะเห็นว่าค่าวันที่ที่แสดง แสดงเป็นปี ค.ศ. ตาม default ของฐานข้อมูล สังเกตุว่าข้อมูลบาง format_mask จะมีค่าศูนย์นำหน้า และมีช่องว่างตามหลัง ดังนั้นถ้าต้องการตัดเลขศูนย์และช่องว่างเราสามารถใช้ “FM” นำหน้า format_mask ตามตัวอย่างต่อไปนี้ คราวนี้ถ้าเราต้องการที่จะให้การแสดงผลวันที่เป็นวัน เดือน ปี ไทย เราสามารถใช้ nls_parameter เข้ามาช่วยได้โดยสามารถกำหนดได้ตามตัวอย่างข้างล่างนี้ ตัวแปรที่สำคัญคือ  – NLS_CALENDAR ตัวนี้แหละที่ทำให้ พ.ศ. แสดงเป็น พุทธศักราช 2562 (THAI BUDDHA) – NLS_DATE_LANGUAGE  ตัวนี้กำหนดให้แสดงเดือนเป็นภาษาไทย (THAI) ด้วยตัวพารามิเตอร์ NLS_CALENDAR และ NLS_DATE_LANGUAGE เราก็สามารถแสดงผลเป็น ภาษาอะไรก็ได้ตามที่เราต้องการ

Read More »

แนะนำ Knex js

สำหรับผู้ที่เขียน web แล้วต้องมีการเชื่อมต่อกับ database นั้น การเชื่อมต่ออาจไม่ใช่เรื่องง่าย ถ้าจะใช้ JavaScript มาช่วยอาจมีความซับซ้อนหรือมีความยุ่งยากมาก ดังนั้นจึงมี tool เพื่อนำมาใช้ในการจัดการ database โดยเฉพาะผู้ที่ถนัด Node.js และ Browser โดย tool ที่กล่าวถึงนั้น คือ “knex.js” knex.js เป็น SQL query builder ที่สามารถต่อกับฐานข้อมูลได้หลากหลาย สามารถที่จะเรียนรู้เข้าใจง่ายและสามารถปรับเปลี่ยนได้ตลอด โดยปัจจุบันสามารถรองรับการทำงานกับ database  Postgres, MSSQL, MySQL, MariaDB, SQLite3, Oracle, และ Amazon Redshift สามารถรันได้ทั้ง Node.js และ Browser รองรับ transactions, polling, streaming queries, promise และอื่นๆ การติดตั้งสามารถลงผ่าน npm ได้เหมือน ตัวอื่นๆในตระกูล Node เช่น npm install knex –save และโหลด library สำหรับเชื่อมต่อฐานข้อมูลต่างๆ ผ่านคำสั่งดังนี้ npm install pgnpm install sqlite3npm install mysqlnpm install mysql2npm install oraclenpm install mssql ตัวอย่างการ connect กับ database Mysql var knex = require(‘knex’)({ client: ‘mysql’, connection: { host : ‘127.0.0.1’, user : ‘your_database_user’, password : ‘your_database_password’, database : ‘myapp_test’ } }); การใช้คำสั่งของ sql ( select, insert, update, delete) สามารถเขียนได้ง่าย โดยมีฟังก์ชั่นมาให้พร้อมใช้งานแล้ว ตัวอย่างการใช้คำสั่ง select Ex1 : select * from f_student_payment สามารถใช้คำสั่ง knex.select().table(‘f_student_payment’) หรือ  knex.select().from(‘f_student_payment’) Ex2 : select ‘payment_id’, ‘student_id’, ‘address’ from ‘f_student_payment’ knex.select(‘payment_id’, ‘student_id’, ‘address’).from(‘f_student_payment’) Ex3 : select * from ‘f_student_payment’ where ‘student_id’ = ‘5710121045’ knex(‘f_student_payment’).where(‘student_id’, ‘5710121045’) ตัวอย่างการใช้คำสั่ง insert Ex4 : insert into ‘f_student_payment’ (‘student_id’) values (‘621012025’) knex(‘f_student_payment’).insert({ student_id : ‘621012025’}) ตัวอย่างการใช้คำสั่ง update Ex5 : update ‘f_student_payment’ set ‘student_id’ = ‘621012025’ knex(‘f_student_payment’).update(‘student_id’, ‘621012025’) ตัวอย่างการใช้คำสั่ง delete Ex6 : delete from f_student_payment where student_id = ‘621012025’ knex(‘f_student_payment’) .where(‘student_id’, ‘621012025’) .del()

Read More »

Gatsby Framework

Gatsby คืออะไร? เป็น open source framework มีพื้นฐานมาจาก React เป็น Static Site Generator กล่าวคือเมื่อเขียนเว็บ -> Build -> HTML+ css + javascript -> Deploy กับ web server หลายๆเว็บ เช่น apache, firebase, github pages หรือ netlify อื่นๆ อีกหลายเว็บ Create Gatsby Project ก่อนอื่นเราจะต้องมาติดตั้งตัว gatsby-cli ซึ่งสามารถใช้ได้ทั้งคำสั่ง Yarn หรือ NPM ดังภาพที่ 1 npm install -g gatsby-cli yarn global install gatsby-cli เมื่อเราติดตั้ง gatsby-cli ขั้นตอนต่อไปก็จะเป็นการสร้าง website ใหม่ด้วย คำสั่ง gatsby new blog หลังจากสร้าง blog เรียบร้อยแล้วก็เข้าไปใน project directory ที่สร้างขึ้นมาใหม่ ในที่นี้คือ “blog” แล้วใช้คำสั่ง  gatsby develop เพื่อรัน development server และเราจะได้ default page ที่ Gatsby สร้างให้ ซึ่งสามารถเข้าถึงเว็บได้ด้วย http://localhost:8000 ดังภาพที่ 2 ต่อไปเราจะลองแก้ไข Gatsby Config ในไฟล์ gatsby-config.js แล้วกลับไปยัง Browser ที่เราเปิดไว้ในภาพที่ 2จะได้ผลลัพธ์ดังภาพที่ 3 กล่าวคือเราสามารถแก้ Code แล้วSave หน้าเว็บก็จะอัพเดททันทีโดยที่เราไม่ต้องสั่ง Build ใหม่ เนื่องจาก Gatsby เป็น hot reload ดังนั้นเมื่อเราแก้ไขไฟล์ใดๆ จะทำการ build ให้เราใหม่เสมอ เหมือนรัน develop

Read More »

Create Excel 2007 file using Interop services.

Microsoft Office Interop (Excel Automation)คือ ตัวเลือกอีกทางหนึ่งที่ใช้สำหรับ สร้าง อ่าน เอกสาร Excel (XLS, XLSX, CSV) จากการพัฒนาโดยใช้   C# หรือ VB.NET แต่บทความนี้จะขอยกตัวอย่างการพัฒนาเพื่อสร้างเอกสารโดยใช้ C# ค่ะ Step 1  เปิด Visual Studio File>New>Project เลือก Visual C#> Windows > Select Console Application Step 2  เลือก >> Project Menu >> เลือก Add References >> เลือกที่ Tab COM >> กด “Microsoft Excel 12.0 Object Library”  เพื่อเพิ่ม References Step 3  ตัวอย่าง Code C# เพื่อใช้ในการสร้าง Excel File ดังนี้ เมื่อมีการ Run โปรแกรมแล้ว Excel file ก็จะถูกสร้างตาม path ที่ระบุ ค่ะ  แหล่งอ้างอิง https://www.c-sharpcorner.com/blogs/creating-excel-file-using-interop-services1

Read More »

TFS : (ตอน) การติดตามการดำเนินโครงการ

จากบทความ การบริหารโครงการโดยใช้เครื่องมือ Team Foundation Server (Phase 4 : การวางแผนงาน)และการบริหารโครงการโดยใช้เครื่องมือ Team Foundation Server (Phase 5 : การตรวจสอบงานที่ได้รับมอบหมาย และการบันทึกผลการทำงาน)ได้กล่าวถึง ขั้นตอนการใช้ TFS ในการวางแผน การเข้าไปดูงานที่ได้รับมอบหมาย และการบันทึกผลการปฏิบัติงาน บทความต่อไปนี้ จะเป็นเนื้อหาต่อเนื่องจาก 2 บทความข้างต้น นั่นคือ เราจะสามารถใช้ TFS ในการติดตามผลการดำเนินงานได้อย่างไรบ้าง ในกระบวนการบริหารจัดการโครงการ “ขั้นตอนการติดตามงาน” ถือเป็นขั้นตอนที่สำคัญอย่างมาก และเป็นขั้นตอนที่ผู้จัดการโครงการต้องปฏิบัติ และปฏิบัติอย่างต่อเนื่อง สม่ำเสมอ เพื่อให้สามารถตรวจสอบความล่าช้าของโครงการ และค้นหาปัญหาที่ทำให้ล่าช้า เพื่อนำไปสู่แนวทางแก้ไขที่ทันเวลานั่นเอง TFS สามารถตรวจสอบ หรือติดตามงานได้หลายวิธี ในบทความนี้ ได้หยิบยกมาให้เห็นด้วยกัน 3 วิธี อย่าให้เสียเวลา เรามาทำความรู้จัก ในแต่ละวิธีกันเลยค่ะ…. วิธีที่ 1 ตรวจสอบจาก Stage โดย StageTO DO = ยังไม่ดำเนินการIN PROGRESS = อยู่ระหว่างการดำเนินการDONE = ดำเนินการเสร็จแล้ว วิธีนี้ เป็นการติดตามงานในภาพของแต่ละงานย่อย หรือ Task นั่นเอง โดยดูจากปริมาณงานที่อยู่ใน Stage ถ้า Tasks ทุก Tasks อยู่ใน Stage = DONE สบายใจได้เลยค่ะ แต่ถ้าจะถึงเวลาปิดโครงการแล้วแต่ Tasks ยังอยู่ใน TO DO หรือ IN PROGRESS จำนวนมาก ต้องรีบสอบถามสมาชิกเลยนะค่ะว่าเกิดอะไรขึ้น เพื่อให้สามารถแก้ไขปัญหาได้ทันท่วงทีค่ะ วิธีที่ 2 ตรวจสอบจาก Burndown Chart ซึ่งจะแสดงเป็นกราฟง่ายๆที่ใช้บอกเราว่า “เราทำงานเสร็จไปแล้วเท่าไรและเราเหลืองานที่ต้องทำอีกเท่าไร” แสดงดังรูป จากรูป วิธีนี้เป็นการติดตามงานในมุมมองภาพรวมทั้งโครงการ นั่นคือ หากงานเป็นไปตามแผนการดำเนินงาน Remaining Work ที่เหลือในแต่ละช่วงเวลาจะต้องต่ำกว่าเส้น Ideal Trend นะค่ะ หากเลยเส้น แสดงว่างานไม่เสร็จตามแผน ถ้าเจอแบบนี้อย่านิ่งนอนใจนะค่ะ ต้องหาว่าเกิดปัญหาอะไรขึ้นที่ทำให้งานช้ากว่าที่กำหนด และหาแนวทางแก้ไขนะค่ะ อย่าให้นานเกินไปจะแก้ไขได้ยากขึ้นค่ะ วิธีที่ 3 ตรวจสอบจาก Work By Assinged To ดังรูปด้านล่างค่ะ การติดตามจาก Work By Assigned To นั้นดูจำนวนชั่วโมงที่เหลือ ถ้าชั่วโมงยังเหลือเยอะ แสดงว่างานยังเหลืออีกเยอะ ดังนั้นจะต้องไปติดตามรายตัวแล้วค่ะ ว่าเกิดปัญหาอะไรขึ้น วิธีนี้จะดีหน่อยตรงที่ สามารถติดตามในมุมมองของรายบุคคลได้เลยค่ะ จะเห็นได้ว่าการติดตามผลการดำเนินงานโดย TFS ทำได้ง่ายมาก และเป็นเครื่องมือที่ใช้งานสะดวกด้วย สามารถติดตามรายโครงการ รายบุคคล หรือราย Tasks ได้ตามที่ต้องการ ทำให้ผู้จัดการโครงการติดตามสถานะของโครงการได้ ซึ่งหากพบว่าไม่เป็นไปตามแผน สามารถหาแนวทางแก้ไขได้ทันท่วงที ก่อนที่จะทำให้โครงการล่าช้าหรือเมื่อเวลาล่วงเลยไป จะแก้ไขปัญหาได้ยากขึ้น นอกจากนี้ ผู้จัดการโครงการยังสามารถใช้เป็นเครื่องมือในการรายงานความก้าวหน้าของโครงการ เพื่อนำเสนอให้กับผู้บริหาร หรือผู้ที่เกี่ยวข้องได้ทราบถึงสถานะของโครงการ ซึ่งเข้าใจข้อมูลได้ง่าย…(เห็นด้วยใช่ไม๊ค่ะ) จากบทความต่าง ๆ ที่เกี่ยวกับ TFS ผู้นำเสนอ หวังเป็นอย่างยิ่งว่าการนำเสนอ หรือบทความแต่ละบทความจะประโยชน์กับทุกๆ ที่สนใจนะค่ะ…. ^___^ อย่างน้อยก็ได้นำเสนอให้ทุกคนได้รู้จักกับเครื่องมือ TFS ในมุมมองของการบริหารจัดการโครงการนะค่ะ…

Read More »