Explicit Knowledge เรื่องการใช้งาน Case-insensitiveและ Case-sensitive สำหรับฐานข้อมูล SQL Server
- Posted by jessada
- Categories Explicit Knowledge, ชุมชนการบริการและความรู้, ชุมชนนักพัฒนา
- Date August 17, 2022
ในการออกแบบฐานข้อมูลนั้นเราจำเป็นต้องคำนึงถึงชนิดรหัสตัวอักษรที่เก็บในฐานข้อมูล (Collation) เพื่อให้ตรงกับวัตถุประสงค์การใช้งานข้อมูลนั้นๆ และลดความผิดพลาดในการเรียกใช้งานข้อมูล ซึ่งในองค์ความรู้นี้จะยกตัวอย่าง ชนิดรหัสตัวอักษรเก็บในฐานข้อมูล ได้แก่ Thai_CI_AI, Thai_CI_AS, Thai_CS_AIและ Thai_CS_AS
- Thai หมายถึง ตัวอักษรภาษาไทย
- CI หมายถึง Case-insensitive ตัวอักษรตัวเล็กกับตัวใหญ่เป็นตัวเดียวกัน
- CS หมายถึง Case-sensitive ตัวอักษรตัวเล็กกับตัวใหญ่เป็นตัวคนละตัว
- AI หมายถึง ไม่สนใจวรรณยุกต์
- AS หมายถึง สนใจวรรณยุกต์

จากภาพ เป็นตัวอย่างการออกแบบตารางโดยใช้ชนิดรหัสตัวอักษรที่เก็บในฐานข้อมูลที่แตกต่างกัน
- ฟิวด์ username จะตั้งชนิดรหัสตัวอักษรที่เก็บเป็น Thai_CI_AI
- ฟิวด์ username จะตั้งชนิดรหัสตัวอักษรที่เก็บเป็น Thai_CI_AS
- ฟิวด์ username จะตั้งชนิดรหัสตัวอักษรที่เก็บเป็น Thai_CS_AI
- ฟิวด์ username จะตั้งชนิดรหัสตัวอักษรที่เก็บเป็น Thai_CS_AS

จากภาพ เป็นตัวอย่างข้อมูล โดยทั้ง ๔ ตารางจะใส่ข้อมูลเหมือนกัน

จากภาพ เป็นตัวอย่างการคิวรี่ข้อมูลโดยใช้เงื่อนไขเท่ากับ (=) กับชนิดรหัสตัวอักษรที่เก็บเป็น Thai_CI_AI ได้ผลออกมาดังภาพ
- เงื่อนไขเป็นตัวอักษรพิมพ์เล็กทั้งหมด
- พบข้อมูล ๒ แถว เป็น Jessada และ jessada
- เงื่อนไขมีตัวอักษรพิมพ์ใหญ่และ ตัวอักษรพิมพ์เล็ก
- พบข้อมูล ๒ แถว เป็น Jessada และ jessada
- เงื่อนไขมีตัววรรณยุกต์ภาษาไทยและ เป็นตัวอักษรพิมพ์เล็กทั้งหมด
- พบข้อมูล ๒ แถว เป็น Jessada และ jessada
- เงื่อนไขมีตัววรรณยุกต์ภาษาไทย ตัวอักษรพิมพ์ใหญ่และ ตัวอักษรพิมพ์เล็ก
- พบข้อมูล ๒ แถว เป็น Jessada และ jessada

จากภาพ เป็นตัวอย่างการคิวรี่ข้อมูลโดยใช้เงื่อนไขเท่ากับ (=) กับชนิดรหัสตัวอักษรที่เก็บเป็น Thai_CI_AS ได้ผลออกมาดังภาพ
- เงื่อนไขเป็นตัวอักษรพิมพ์เล็กทั้งหมด
- พบข้อมูล ๒ แถว เป็น Jessada และ jessada
- เงื่อนไขมีตัวอักษรพิมพ์ใหญ่และ ตัวอักษรพิมพ์เล็ก
- พบข้อมูล ๒ แถว เป็น Jessada และ jessada
- เงื่อนไขมีตัววรรณยุกต์ภาษาไทยและ เป็นตัวอักษรพิมพ์เล็กทั้งหมด
- ไม่พบข้อมูล
- เงื่อนไขมีตัววรรณยุกต์ภาษาไทย ตัวอักษรพิมพ์ใหญ่และ ตัวอักษรพิมพ์เล็ก
- ไม่พบข้อมูล

จากภาพ เป็นตัวอย่างการคิวรี่ข้อมูลโดยใช้เงื่อนไขเท่ากับ (=) กับชนิดรหัสตัวอักษรที่เก็บเป็น Thai_CS_AI ได้ผลออกมาดังภาพ
- เงื่อนไขเป็นตัวอักษรพิมพ์เล็กทั้งหมด
- พบข้อมูล ๑ แถว เป็น jessada
- เงื่อนไขมีตัวอักษรพิมพ์ใหญ่และ ตัวอักษรพิมพ์เล็ก
- พบข้อมูล ๑ แถว เป็น Jessada
- เงื่อนไขมีตัววรรณยุกต์ภาษาไทยและ เป็นตัวอักษรพิมพ์เล็กทั้งหมด
- พบข้อมูล ๑ แถว เป็น jessada
- เงื่อนไขมีตัววรรณยุกต์ภาษาไทย ตัวอักษรพิมพ์ใหญ่และ ตัวอักษรพิมพ์เล็ก
- พบข้อมูล ๑ แถว เป็น Jessada

จากภาพ เป็นตัวอย่างการคิวรี่ข้อมูลโดยใช้เงื่อนไขเท่ากับ (=) กับชนิดรหัสตัวอักษรที่เก็บเป็น Thai_CS_AS ได้ผลออกมาดังภาพ
- เงื่อนไขเป็นตัวอักษรพิมพ์เล็กทั้งหมด
- พบข้อมูล ๑ แถว เป็น jessada
- เงื่อนไขมีตัวอักษรพิมพ์ใหญ่และ ตัวอักษรพิมพ์เล็ก
- พบข้อมูล ๑ แถว เป็น Jessada
- เงื่อนไขมีตัววรรณยุกต์ภาษาไทยและ เป็นตัวอักษรพิมพ์เล็กทั้งหมด
- ไม่พบข้อมูล
- เงื่อนไขมีตัววรรณยุกต์ภาษาไทย ตัวอักษรพิมพ์ใหญ่และ ตัวอักษรพิมพ์เล็ก
- ไม่พบข้อมูล
สรุป
- ฟิวด์ username ที่ตั้งชนิดรหัสตัวอักษรที่เก็บเป็น Thai_CI_AI เมื่อใช้เงื่อนไขเท่ากับจะได้ข้อมูลที่กรองเงื่อนไขเฉพาะตัวอักษรเท่ากัน และเป็นตัวอักษรเดียวกัน โดยไม่สนใจว่าจะเป็นตัวอักษรพิมพ์เล็กหรือพิมพ์ใหญ่ และไม่สนใจวรรณยุกต์ (เหมาะกับการใช้เงื่อนไข Like ในการค้นหาทั่วไป)
- ฟิวด์ username ที่ตั้งชนิดรหัสตัวอักษรที่เก็บเป็น Thai_CI_AS เมื่อใช้เงื่อนไขเท่ากับจะได้ข้อมูลที่กรองเงื่อนไขตัวอักษรเท่ากัน เป็นตัวอักษรเดียวกัน และสนใจวรรณยุกต์ โดยไม่สนใจว่าตัวอักษรจะเป็นตัวอักษรพิมพ์เล็กหรือพิมพ์ใหญ่ (เหมาะกับการใช้เงื่อนไข Like ในการค้นหาทั่วไป)
- ฟิวด์ username ที่ตั้งชนิดรหัสตัวอักษรที่เก็บเป็น Thai_CS_AI เมื่อใช้เงื่อนไขเท่ากับจะได้ข้อมูลที่กรองเงื่อนไขเฉพาะตัวอักษรเท่ากัน เป็นตัวอักษรเดียวกันและ ตัวอักษรพิมพ์เล็กหรือพิมพ์ใหญ่ตรงกัน โดยไม่สนใจวรรณยุกต์ (เหมาะกับการใช้เงื่อนไข Like ในการค้นหาทั่วไป)
- ฟิวด์ username ที่ตั้งชนิดรหัสตัวอักษรที่เก็บเป็น Thai_CS_AS เมื่อใช้เงื่อนไขเท่ากับจะได้ข้อมูลที่กรองเงื่อนไขเฉพาะตัวอักษรเท่ากัน เป็นตัวอักษรเดียวกัน ตัวอักษรพิมพ์เล็กหรือพิมพ์ใหญ่ตรงกัน และสนใจวรรณยุกต์ (เหมาะกับการใช้เงื่อนไขที่ต้องการเปรียบเทียบข้อมูลที่เหมือนกัน ๑๐๐ เปอร์เช็นต์ เช่น ชื่อผู้ใช้)
You may also like
ในองค์ความรู้นี้จะนำเสนอ การเขียนโปรแกรมบีบอัดและรวมไฟล์รูปภาพในรูปแบบ ZIP สำหรับระบบบัตรพนักงาน มหาวิทยาลัยบูรพา ซึ่งแบ่งเป็นขั้นตอนการดำเนินการ ดังนี้ ทำการดาวโหลดไฟล์รูปภาพจาก MinIO มาลงที่โฟลเดอร์ storage แสดงดังภาพ สร้างฟังก์ชันสำหรับ บีบอัดและรวมไฟล์รูปภาพในรูปแบบ ZIP แสดงดังภาพ ไฟล์ Zip ที่ออกจากระบบ แสดงดังภาพ อ้างอิง https://www.php.net/manual/en/class.ziparchive.php
การสร้าง QR Code ในรูปแบบนามบัตรดิจิทัล (vCard) บน Laravel Framework เพื่อใช้กับระบบบัตรพนักงานของมหาวิทยาลัยบูรพา
ในองค์ความรู้นี้จะนำเสนอ การสร้าง QR Code ในรูปแบบ vCard สำหรับบัตรพนักงาน มหาวิทยาลัยบูรพา ซึ่งแบ่งเป็นขั้นตอนการดำเนินการ ดังนี้ 1. การติดตั้ง Package สำหรับสร้าง QR Code ที่ชื่อ simplesoftwareio/simple-qrcode โดยติดตั้งผ่าน Composer คำสั่ง : composer require simplesoftwareio/simple-qrcode 2. สร้างฟังก์ชันสำหรับ QR Code ในรูปแบบ vCard ซึ่งโครงสร้างข้อมูล ต้องเริ่มต้นด้วย BEGIN:VCARD และจบด้วย END:VCARD และฟิลด์ที่กำหนดค่าที่สำคัญ เช่น ชื่อ (FN) …
ที่มา/ปัญหา เพื่อให้การใช้งาน Docker Volumes ร่วมกับโปรแกรม Cursor และ Git Azure ได้อย่างมีประสิทธิภาพจึงต้องทำการเชื่อมต่อข้อมูลไฟล์ Project กับ Container และใช้ SSH ในการเชื่อมต่อโดยมีขั้นตอนการทำดังต่อไปนี้ สิ่งที่จำเป็นและต้องเตรียม ๑. Docker Desktop ๒. Docker Container ๓. Extension SFTP ของ Cursor หรือ VS Code ขั้นตอนการติดตั้งและใช้งาน ๑. ติดตั้ง OpenSSH Server โดยเข้าไปที่ Container Exec แล้วลองพิมพ์ …
