Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

นับค่าจากฟิลด์ที่คั่นด้วยเครื่องหมายจุลภาคใน MySQL หรือไม่


คุณสามารถนับค่าจากฟิลด์ที่คั่นด้วยเครื่องหมายจุลภาคโดยใช้วิธี CHAR_LENGTH() จาก MySQL ไวยากรณ์มีดังนี้ −

SELECT *, (CHAR_LENGTH(yourColumnName) - CHAR_LENGTH(REPLACE(yourColumnName, ',','')) + 1) as anyVariableName from yourTableName;

เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้ −

mysql> สร้างตาราง CountValuesCommaSeparated -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT, -> ข้อความ CommaSeparatedValue, -> คีย์หลัก (Id) -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (1.76 วินาที)

แทรกบางระเบียนในตารางโดยใช้คำสั่ง insert แบบสอบถามมีดังนี้ −

mysql> แทรกลงใน CountValuesCommaSeparated(CommaSeparatedValue)values('101,104,1900,46675,7895');Query OK, 1 แถวได้รับผลกระทบ (0.16 วินาที)mysql> แทรกลงใน CountValuesCommaSeparated(CommaSeparatedValue)values ​​('101065,189) '); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.21 วินาที) mysql> แทรกลงในค่า CountValuesCommaSeparated (CommaSeparatedValue) ('2010,1201,2743874,7485'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.42 วินาที) mysql> แทรกลงใน CountValuesCommaSeparated ( CommaSeparatedValue)values('4757,457587,48586,378575,3874765,487565');ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.26 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −

mysql> เลือก *จาก CountValuesCommaSeparated;

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+----+----------------------------------------- +| รหัส | CommaSeparatedValue |+----+---------------------------------------------------+ | 1 | 101,104,1900,46675,7895 || 2 | 1010,18949,37465 || 3 | 2010,1201,2743874,7485 || 4 | 4757,457587,48586,378575,3874765,487565 |+----+-------------------------------- ---------+4 แถวในชุด (0.00 วินาที)

นี่คือการสืบค้นเพื่อนับค่าจากฟิลด์ที่คั่นด้วยเครื่องหมายจุลภาค:

mysql> เลือก *, -> (CHAR_LENGTH(CommaSeparatedValue) -CHAR_LENGTH(REPLACE(CommaSeparatedValue, ',', '')) + 1) เป็น TotalValue -> จาก CountValuesCommaSeparated;

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+----+----------------------------------------- +------------+| รหัส | จุลภาคSeparatedValue | มูลค่ารวม |+----+-----------------------------------------+ --------------+| 1 | 101,104,1900,46675,7895 | 5 || 2 | 1010,18949,37465 | 3 || 3 | 2010,1201,2743874,7485 | 4 || 4 | 4757,457587,48586,378575,3874765,487565 | 6 |+----+------------------------------------------------------+ ------------+4 แถวในชุด (0.00 วินาที)