دوال SQL

sql ROUND

آخر تحيين: 10-01-2015

sql CHAR_LENGTH sql COUNT


تقوم الدّالة ROUND() ، بإجراء العمليات على الأعداد العشرية في الحقل المعني و ذلك برفع قيمة العدد أو خفضها حسب الأرقام الموجودة بعد النقطة : "14.75"

 SELECT ROUND( العدد,الحقل) FROM الجدول;

العدد: عدد الأرقام بعد النقطة

مثال جدول exam_notes

idmatierenote
1علم الحياة و الأرض14.75
2الفيزياء16.5
3الرياضيات17.25
4التكنولوجيا15

طريقة الإستعمال

SELECT ROUND(note, 0) as r_notes FROM exam_notes;

بما أننا نُنفذ هذا النوع من الإستعلام ، الذي يقوم بعمليات على البيانات مباشرة في القاعدة . في مثالنا ستقوم الشيفرة أعلاه بخفض أو رفع القيمة الإجمالية للنقطة ، ثم تقوم قاعدة البيانات بخلق حقل وهمي لتخزين النتيجة المحصّل عليها . لمعرفة هذا العدد الجديد ، وجب علينا دائما إضافة هذا الحقل الوهمي في استعلامنا .
لإضافته نستعمل أداة التشبيه "as" . يمكننا تسمية الحقل الوهمي كيفما نشاء ، نعطيه مثلا إسم "r_notes" :

مثال الإستعمال

<?php
$response = $db->prepare('SELECT id, matiere, ROUND(note, 0) as r_notes FROM exam_notes');
$response->execute();

$rounded_notes = $response->fetchAll();
$response->CloseCursor();
?>
<table>
<tr>
  <th>id</th>
  <th>matiere</th>
  <th>note</th>
</tr>
<?php 
foreach ($rounded_notes as $note) {
echo '
<tr> 
  <td>'.$note['id'].'</td>
  <td>'.$note['matiere'].'</td>
  <td>'.$note['r_notes'].'</td>	  
<tr>';
}
?>
</table>

النتيجة :

idmatierenote
1علم الحياة و الأرض15
2الفيزياء16
3الرياضيات17
4التكنولوجيا15

تم خفض قيمة الأعداد التي تحتوي على أرقام بعد النقطة و التي تساوي أو أصغر من "50." . هذه الأعداد هي : (16.5 و 17.25)
بينما تم رفع قيمة العدد "14.75" فأصبح "15" .

قوموا ببعض التجارب ، غيروا مثلا العدد "0" في الإستعلام إلى "1"

SELECT ROUND(note, 1) as r_notes FROM exam_notes;

في هذه الحالة سيتم التأثير على قيمة الرقم الأول فقط بعد النقطة ، و ليس قيمة العدد الإجمالية كما رأينا سابقا .