หน้าแรก
หน้าแรก
ฟังก์ชัน MySQL IF() เป็นหนึ่งในฟังก์ชันโฟลว์การควบคุม MySQL ที่คืนค่าตามเงื่อนไข บางครั้งเรียกว่าฟังก์ชัน IF ELSE หรือ IF THEN ELSE โดยทั่วไป ต้องใช้สามนิพจน์ และหากนิพจน์แรกเป็นจริง (ไม่ใช่ ZERO และไม่ใช่ NULL) นิพจน์ที่สองจะส่งกลับ มิฉะนั้น จะส่งกลับนิพจน์ที่สาม ไวยากรณ์ของมันคือ − ไวยากรณ์ IF(exp
ค่อนข้างเป็นไปได้ที่จะใช้ฟังก์ชัน MySQL IF() ภายในคำสั่ง SELECT โดยระบุชื่อคอลัมน์พร้อมกับเงื่อนไขเป็นอาร์กิวเมนต์แรกของฟังก์ชัน IF() เพื่อให้เข้าใจ ให้พิจารณาข้อมูลต่อไปนี้จากตาราง นักศึกษา mysql> Select * from Students; +----+-----------+-----------+----------+----------------+ | id | Name &nbs
ค่อนข้างเป็นไปได้ที่จะใช้คำสั่ง SELECT เป็นอาร์กิวเมนต์แรกของฟังก์ชัน MySQL IF() เพื่อให้เข้าใจโดยพิจารณาจากข้อมูลในตาราง นิสิต ดังต่อไปนี้ mysql> Select * from Students; +----+-----------+-----------+----------+----------------+ | id | Name | Country | Language | Course | +----+-
สมมติว่าในตาราง พนักงาน ของเรา มีค่า NULL เป็นค่าของคอลัมน์ เงินเดือน สำหรับพนักงานสองคน ข้อมูลที่แสดงดังต่อไปนี้ไม่มีความหมายในตัวมันเอง mysql> Select * from employee; +----+--------+--------+ | ID | Name | Salary | +----+--------+--------+ | 1 | Gaurav | 50000 | | 2 | Rahul &
เราสามารถอัปเดตตาราง MySQL หลังจากลบสตริงเฉพาะออกจากค่าของคอลัมน์โดยใช้ฟังก์ชัน TRIM() ร่วมกับส่วนคำสั่ง UPDATE การปฏิบัติตามตัวอย่างจากตาราง examination_btech จะทำให้ชัดเจนยิ่งขึ้น - ตัวอย่าง สมมติว่าเราต้องการลบค่า (CSE) จากคอลัมน์สุดท้าย หลักสูตร และต้องการอัปเดตตารางด้วย สามารถทำได้โดยใช้ข้อความ
ด้วยความช่วยเหลือของตัวดำเนินการ IS NULL เราสามารถตรวจสอบค่า NULL ในการสืบค้น MySQL ได้ เราไม่สามารถใช้ =(ตัวดำเนินการเปรียบเทียบ) เพราะเรารู้ว่า NULL ไม่ใช่ค่า ตัวอย่างต่อไปนี้โดยใช้ข้อมูลจากตาราง พนักงาน จะแสดงให้เห็น - ตัวอย่าง mysql> Select * from Employee WHERE Salary IS NULL; +----+-------+
เรารู้ว่า MySQL RAND() ส่งคืนค่าทศนิยมสุ่มระหว่างช่วง 0 ถึง 1 มันจะสร้างตัวเลขสุ่มสองหมายเลขที่แตกต่างกัน หากเราจะเรียกใช้ฟังก์ชัน RAND() โดยไม่มีเมล็ด สองครั้งในแบบสอบถามเดียวกัน ตัวอย่างต่อไปนี้จะทำให้ชัดเจนขึ้น - ตัวอย่าง mysql> Select RAND(), RAND(), Rand(); +--------------------+-----------
เมื่อเราใช้คำสั่งย่อย MySQL ORDER BY กับฟังก์ชัน RAND() ชุดผลลัพธ์จะมีชุดของแถวที่สับเปลี่ยน กล่าวอีกนัยหนึ่ง ชุดผลลัพธ์จะอยู่ในลำดับแบบสุ่ม เพื่อให้เข้าใจว่าตาราง พนักงาน มีบันทึกดังต่อไปนี้ - mysql> Select * from employee; +----+--------+--------+ | ID | Name | Salary | +----+--------+--
เมื่อเรียกใช้ด้วยอาร์กิวเมนต์จำนวนเต็ม RAND( ) จะใช้ค่านั้นเพื่อสร้างตัวสร้างตัวเลขสุ่ม ทุกครั้งที่คุณสร้างเครื่องกำเนิดด้วยค่าที่กำหนด RAND( ) จะสร้างลำดับของตัวเลขสุ่มที่เหมือนกัน ตัวอย่างต่อไปนี้จะแสดงให้เห็น - ตัวอย่าง mysql> Select RAND(1), RAND(1), Rand(1); +---------------------+----------
เมื่อเราใช้ฟังก์ชัน RAND() ร่วมกับคำสั่งย่อย ORDER BY และ LIMIT ในเคียวรี MySQL จะส่งกลับชุดของแถวหรือค่าที่ต่างกันในแต่ละครั้ง เพื่อให้เข้าใจว่าตาราง พนักงาน มีบันทึกดังต่อไปนี้ - mysql> Select * from Employee; +----+--------+--------+ | ID | Name | Salary | +----+--------+--------+ | 1 &
MySQL LENGTH() ฟังก์ชันจะวัดความยาวของสตริงเป็น ไบต์ ซึ่งหมายความว่าไม่ปลอดภัยสำหรับมัลติไบต์ ความแตกต่างของผลลัพธ์ระหว่างฟังก์ชันความปลอดภัยแบบหลายไบต์ เช่น CHAR_LENGTH() หรือ CHARACTER_LENGTH() และฟังก์ชัน LENGTH() ที่เกี่ยวข้องโดยเฉพาะกับ Unicode ซึ่งอักขระส่วนใหญ่ถูกเข้ารหัสเป็นสองไบต์หรือเกี่ยว
The เพดาน() ฟังก์ชันจะส่งคืนค่าจำนวนเต็มที่น้อยที่สุดที่ไม่เล็กกว่า X ลองพิจารณาตัวอย่างต่อไปนี้ – mysql> Select CEILING(3.46); +---------------+ | CEILING(3.46) | +---------------+ | 4 | +---------------+ 1 row in set (0.00 sec) mysql> Select
สำหรับการดึงค่าของฟังก์ชัน REPLACE() ในชื่อคอลัมน์ทางเลือก เราจำเป็นต้องใช้คีย์เวิร์ด AS กับฟังก์ชัน REPLACE() ตัวอย่าง mysql> Select Name, REPLACE(Name, G,S) AS Name_Changed from student Where Subject = Computers; +--------+--------------+ | Name | Name_Changed | +--------+--------------+ | G
The TRUNCATE() ฟังก์ชั่นใช้เพื่อคืนค่าของ X ที่ถูกตัดทอนเป็น D จำนวนตำแหน่งทศนิยม ถ้า D เป็น 0 จุดทศนิยมจะถูกลบออก ถ้า D เป็นค่าลบ จำนวนค่า D ในส่วนจำนวนเต็มของค่าจะถูกตัดทอน พิจารณาตัวอย่างต่อไปนี้ – mysql> Select TRUNCATE(7.536432,2); +----------------------+ | TRUNCATE(7.536432,2) | +---------
หากเราระบุค่าลบของอาร์กิวเมนต์ที่สอง ตัวเลขก่อนจุดทศนิยมจะถูกลบออกและปัดเศษออก จำนวนหลักที่จะลบขึ้นอยู่กับค่าของอาร์กิวเมนต์ที่สองที่เป็นค่าลบ ตัวอย่างต่อไปนี้จะแสดงให้เห็นการเปลี่ยนแปลง ขึ้นอยู่กับค่าลบของอาร์กิวเมนต์ที่สอง ในผลลัพธ์ของฟังก์ชัน ROUND() mysql> Select ROUND(1789.456,-1); +--------
สามารถทำได้ด้วยคำสั่ง SHOW FULL TABLES ไวยากรณ์จะเป็นดังนี้ - ไวยากรณ์ SHOW FULL TABLES IN db_name ที่นี่ db_name เป็นชื่อฐานข้อมูลที่เราอยากดูรายการตาราง ตัวอย่าง ขณะนี้เรากำลังใช้ฐานข้อมูลชื่อ query และแบบสอบถาม MySQL ด้านล่างจะแสดงรายการของตารางพร้อมกับประเภทตารางจากฐานข้อมูลที่ชื่อ mysql mysql
สามารถทำได้ด้วยคำสั่ง SHOW COLUMNS ไวยากรณ์จะเป็นดังนี้ - ไวยากรณ์ SHOW COLUMNS FROM tab_name ที่นี่ tab_name คือชื่อตารางที่เราอยากดูรายการคอลัมน์ ตัวอย่าง ในตัวอย่าง เราได้รับรายการคอลัมน์จากตารางชื่อ Student_info - mysql> SHOW COLUMNS FROM Student_info\G *************************** 1. row ***
สามารถทำได้ด้วยคำสั่ง SHOW COLUMNS ไวยากรณ์จะเป็นดังนี้ - ไวยากรณ์ SHOW COLUMNS FROM db_name.tab_name ที่นี่ tab_name คือชื่อตารางที่เราอยากดูรายการคอลัมน์ Db_name เป็นชื่อฐานข้อมูลที่เก็บตาราง ตัวอย่าง ในตัวอย่าง เรากำลังใช้ฐานข้อมูล query และรับรายการคอลัมน์จากตารางชื่อ arena ที่จัดเก็บไว้ใน my
เพื่อให้เข้าใจ เรากำลังใช้ข้อมูลจากตาราง พนักงาน ที่มี Salary=NULL สำหรับ ID =5 และ 6 ดังนี้ − mysql> Select * from Employee; +----+--------+--------+ | ID | Name | Salary | +----+--------+--------+ | 1 | Gaurav | 50000 | | 2 | Rahul | 20000 | | 3 | Advi
หากเราต้องการใช้ฟังก์ชัน COALESCE() กับค่าข้อมูลของตาราง MySQL เราจำเป็นต้องใช้ชื่อคอลัมน์เป็นอาร์กิวเมนต์ของฟังก์ชันนี้ หากมีค่า NULL ในคอลัมน์แรก มันจะตรวจสอบคอลัมน์ถัดไปและไปเรื่อยๆ จนกว่าจะได้รับค่าที่ไม่ใช่ NULL เราใช้ข้อมูลจากตาราง พนักงาน ดังต่อไปนี้ เพื่อแสดงแนวคิดข้างต้น - mysql> Select