หน้าแรก
หน้าแรก
MySQL MAKE_SET() ฟังก์ชันไม่คืนค่าใดๆ หากค่าของบิตเป็น 1 และสตริงแรกเป็น NULL ตัวอย่างต่อไปนี้จะแสดงแนวคิดนี้ - ตัวอย่าง mysql> Select MAKE_SET(1, NULL,'A','B'); +---------------------------+ | MAKE_SET(1, NULL,'A','B') | +---------------------------+ | &nbs
MySQL MAKE_SET() ฟังก์ชันจะไม่ส่งคืนสิ่งใดหากมีค่า NULL ทั้งหมดอยู่ที่ตำแหน่งของสตริง ตัวอย่างต่อไปนี้จะแสดงให้เห็น - ตัวอย่าง mysql> Select MAKE_SET(2, NULL,NULL,NULL); +-----------------------------+ | MAKE_SET(2, NULL,NULL,NULL) | +-----------------------------+ | &
ด้วยความช่วยเหลือของฟังก์ชัน MySQL MAKE_SET() เราสามารถคืนค่าของคอลัมน์จากตาราง MySQL เป็นชุดของค่าได้ เพื่อให้เข้าใจ เรากำลังนำตัวอย่างตาราง Student_Name ซึ่งมีข้อมูลดังต่อไปนี้ - mysql> Select * from Student_Name; +---------+-------+---------+ | FName | Mname | Lname | +---------+
mysql> DELIMITER // mysql> CREATE PROCEDURE get_factorial(IN N INT) -> BEGIN -> SET @@GLOBAL.max_sp_recursion_depth = 255; -> SET @@session.max_sp_recursion_depth = 255; -> ->
ความแตกต่างที่สำคัญที่สุดระหว่างขั้นตอนและฟังก์ชันคือการเรียกใช้ต่างกันและเพื่อวัตถุประสงค์ที่แตกต่างกัน นอกเหนือจากนั้นต่อไปนี้คือความแตกต่างระหว่างขั้นตอนและหน้าที่ - โพรซีเดอร์ไม่คืนค่า แต่จะเรียกใช้ด้วยคำสั่ง CALL เพื่อดำเนินการ เช่น การปรับเปลี่ยนตารางหรือการประมวลผลระเบียนที่ดึงมา ในอีกทาง
หากเราต้องการใช้คำสั่งที่เตรียมไว้ในโพรซีเดอร์ที่เก็บไว้ จะต้องเขียนไว้ในบล็อก BEGIN และ END เพื่อให้เข้าใจ เรากำลังสร้างตัวอย่างด้วยความช่วยเหลือ ซึ่งเราสามารถรับระเบียนทั้งหมดจากตารางโดยส่งชื่อของตารางเป็นพารามิเตอร์ของกระบวนงานที่เก็บไว้ ตัวอย่าง mysql> DELIMITER // mysql> Create procedure
อย่างที่เราทราบดีว่าฟังก์ชันโฟลว์การควบคุม MySQL NULLIF() จะคืนค่า NULL หากอาร์กิวเมนต์ทั้งสองเหมือนกัน มิฉะนั้นจะคืนค่าอาร์กิวเมนต์แรก ดังนั้นจึงคล้ายกับคำสั่งของ CASE ต่อไปนี้ - CASE WHEN expression1=expression2 THEN NULL ELSE Expression2 END.
MySQL CONCAT() ฟังก์ชันจะคืนค่า NULL หากคุณจะเพิ่มค่า NULL ในขณะที่เชื่อมโยงสองสตริง ตัวอย่างต่อไปนี้จะแสดงให้เห็น - ตัวอย่าง mysql> Select CONCAT('Tutorials',NULL,'Point'); +----------------------------------+ | CONCAT('Tutorials',NULL,'Point') | +----------------
ฟังก์ชันค่าสตริงจะคืนค่า NULL หากความยาวของผลลัพธ์มากกว่าค่าของตัวแปรระบบ max_allowed_packet ที่จริงแล้ว max_allowed_packet เป็นตัวแปรโกลบอลแบบไดนามิกที่ยอมรับค่าประเภทจำนวนเต็มได้ ค่าเหล่านี้สามารถตั้งค่าได้สำหรับเซสชันเท่านั้น สามารถรับ 1024 เป็นค่าต่ำสุดและ 1073741824 เป็นค่าสูงสุด โดยค่าเริ่มต้น
จริงๆ แล้ว CONCAT_WS() ฟังก์ชันจะคืนค่า NULL ต่อเมื่ออาร์กิวเมนต์แรกของมัน เช่น ตัวคั่นเป็น NULL ตัวอย่างมีดังต่อไปนี้ − mysql> Select CONCAT_ws(NULL,'Tutorial','Point','.com'); +-------------------------------------------+ | CONCAT_ws(NULL,'Tutorial','Point
ในวิทยาการคอมพิวเตอร์และเทคโนโลยี เคอร์เซอร์ฐานข้อมูลคือโครงสร้างการควบคุมที่ช่วยให้สามารถข้ามผ่านระเบียนในฐานข้อมูลได้ เคอร์เซอร์ใน MySQL เกือบจะเหมือนกับเคอร์เซอร์ในฐานข้อมูลอื่น เคอร์เซอร์ MySQL เป็นเครื่องมืออำนวยความสะดวกแบบวนซ้ำที่กำหนดให้สำรวจในผลลัพธ์ของ SQL ทีละรายการ เราสามารถดำเนินการกับท
ต่อไปนี้คือขั้นตอนต่างๆ ในการใช้เคอร์เซอร์ MySQL − ประกาศ − ก่อนอื่นเราต้องประกาศเคอร์เซอร์โดยใช้คำสั่ง DECLARE การประกาศเคอร์เซอร์ต้องอยู่หลังการประกาศตัวแปร ไวยากรณ์สำหรับการประกาศเคอร์เซอร์ MySQL สามารถเป็นดังนี้ - DECLARE cursor_name CURSOR FOR SELECT-statement; กำลังเปิด − ต่อไป เราต้อง
เราต้องประกาศตัวจัดการ NOT FOUND ในขณะที่ทำงานกับเคอร์เซอร์ MySQL เพราะมันจัดการกับสถานการณ์เมื่อเคอร์เซอร์ไม่พบแถวใดๆ นอกจากนี้ยังจัดการกับสถานการณ์เมื่อเคอร์เซอร์ถึงจุดสิ้นสุดของแถวเพราะทุกครั้งที่เราเรียกคำสั่ง FETCH เคอร์เซอร์จะค้นหาเพื่อพยายามแถวถัดไปในชุดผลลัพธ์ ต่อไปนี้เป็นรูปแบบการประกาศ NOT
ฟังก์ชัน MySQL TRIM() ใช้เพื่อลบส่วนต่อท้ายหรือคำนำหน้าเฉพาะหรือทั้งสองอย่างออกจากสตริง การทำงานของฟังก์ชัน TRIM() สามารถเข้าใจได้ด้วยความช่วยเหลือของไวยากรณ์ - ไวยากรณ์ TRIM([{BOTH | LEADING | TRAILING} [str_to_remove] FROM] string) ที่นี่ อาร์กิวเมนต์ BOTH หมายถึงส่วนนำหน้าจากทั้งซ้ายและขวาที่จะ
MySQL MAKE_SET() ฟังก์ชันจะคืนค่า NULL หากค่าของบิตเป็น NULL มิฉะนั้น NULL ที่ตำแหน่งอื่นจะถูกละเว้นโดยฟังก์ชันนี้ ตัวอย่างต่อไปนี้จะแสดงให้เห็น - ตัวอย่าง mysql> Select MAKE_SET(NULL, 'A','B','C'); +-----------------------------+ | MAKE_SET(NULL, 'A','B',&
สร้างได้โดยใช้ข้อความค้นหาต่อไปนี้ − mysql> Delimiter // mysql> CREATE PROCEDURE fact(IN x INT) -> BEGIN -> DECLARE result INT; -> DECLARE i INT; -> SET result = 1; -> SET i = 1; -> WHILE i &l
อันที่จริง ทั้งสองเป็นตัวดำเนินการมอบหมายและใช้เพื่อกำหนดค่า แต่ความแตกต่างที่สำคัญระหว่างทั้งสองมีดังนี้ − =ตัวดำเนินการกำหนดค่าเป็นส่วนหนึ่งของคำสั่ง SET หรือเป็นส่วนหนึ่งของคำสั่ง SET ในคำสั่ง UPDATE ในกรณีอื่น ๆ =ตัวดำเนินการจะถูกตีความว่าเป็นตัวดำเนินการเปรียบเทียบ ในทางกลับกัน :=โอเปอเรเตอร์กำ
อันที่จริงแล้ว ชนิดการส่งคืนเริ่มต้นของ IFNULL(expression1, expression2) จะเป็นแบบทั่วไปมากกว่าของสองนิพจน์ ในลำดับ STRING, REAL หรือ INTEGER สามารถเข้าใจได้จากตัวอย่างต่อไปนี้ − ตัวอย่าง mysql> Create table testing Select IFNULL(100,'testing123'); Query OK, 1 row affected (0.18 sec) Reco
เราสามารถสร้าง MySQL กระบวนงานที่เก็บไว้โดยไม่มี BEGIN และ END ในลักษณะเดียวกับที่สร้างด้วยทั้งคู่ สิ่งเดียวที่ต้องละเว้น BEGIN และ END ในตัวอย่างต่อไปนี้ เรากำลังสร้างกระบวนงานที่เก็บไว้โดยไม่มี BEGIN และ END เพื่อรับแถวทั้งหมดจากตาราง - ตัวอย่าง mysql> Delimiter // mysql> CREATE PROCEDURE He
อย่างที่เราทราบดีว่าฟังก์ชัน REPLACE () ใช้เพื่อแทนที่การเกิดขึ้นของสตริงย่อยด้วยสตริงย่อยอื่นภายในสตริง เรายังสามารถใช้ฟังก์ชัน REPLACE กับคำสั่ง UPDATE เพื่ออัปเดตตารางได้ ตัวอย่างต่อไปนี้จะแสดงให้เห็น - ตัวอย่าง mysql> Update Student set Father_Name = REPLACE(Father_Name, 'Mr.','Sh