دوال SQL

SQL تحتوي على العديد من الوظائف المدمجة التي يمكن استخدامها للعد والتحليل.

نحو نحوية الوظيفة

نحو نحوية وظائف SQL المدمجة هي:

SELECT function(العمود) FROM الجدول

نوع الوظيفة

في SQL، هناك أنواع وأنواع متعددة من الوظائف الأساسية. نوع الوظيفة الأساسية هو:

  • وظائف الإجمالي
  • وظائف Scalar

وظائف الإجمالي (Aggregate functions)

عمليات وظائف الإجمالي تستهدف سلسلة من القيم وتستعيد قيمة واحدة.

ملاحظة:إذا كنت تستخدم جملة SELECT في قائمة العناصر الخاصة بجملة SELECT، فإن هذه الجملة يجب أن تستخدم جملة GROUP BY!

"جداول الأشخاص" (استخدمت في معظم الأمثلة)

الاسم العمر
Adams, John 38
Bush, George 33
Carter, Thomas 28

وظائف الإجمالي في MS Access

وظيفة وصف
AVG(column) يستعيد قيمة المتوسط للمجال المحدد
COUNT(column) يستعيد عدد الصفوف في العمود المحدد (باستثناء القيم NULL)
COUNT(*) يستعيد عدد الصفوف المميزة
FIRST(column) يستعيد قيمة أول سجل في المجال المحدد
LAST(column) يستعيد قيمة آخر سجل في المجال المحدد
MAX(column) استعادة أعلى قيمة في عمود
MIN(column) استعادة أقل قيمة في عمود
STDEV(column)  
STDEVP(column)  
SUM(column) استعادة مجموع جميع القيم في عمود
VAR(column)  
VARP(column)  

وظائف الإجمالي في SQL Server

وظيفة وصف
AVG(column) يستعيد قيمة المتوسط للمجال المحدد
BINARY_CHECKSUM  
CHECKSUM  
CHECKSUM_AGG  
COUNT(column) يستعيد عدد الصفوف في العمود المحدد (باستثناء القيم NULL)
COUNT(*) يستعيد عدد الصفوف المميزة
COUNT(DISTINCT column) استعادة عدد النتائج المختلفة
FIRST(column) استعادة قيمة أول سجل في المجال المحدد (لا يدعم SQLServer2000)
LAST(column) استعادة قيمة آخر سجل في المجال المحدد (لا يدعم SQLServer2000)
MAX(column) استعادة أعلى قيمة في عمود
MIN(column) استعادة أقل قيمة في عمود
STDEV(column)  
STDEVP(column)  
SUM(column) استعادة مجموع جميع القيم في عمود
VAR(column)  
VARP(column)  

وظائف Scalar

تتجه عمليات وظائف Scalar نحو قيمة واحدة وتعيد قيمة واحدة تستند إلى القيمة المدخلة.

وظائف Scalar في MS Access

وظيفة وصف
UCASE(c) تحويل مجال إلى كبير
LCASE(c) تحويل مجال إلى صغير
MID(c,start[,end]) استخراج حرف من مجال نصي
LEN(c) استعادة طول مجال نصي
INSTR(c,char) استعادة موقع حرف معين في مجال نصي
LEFT(c,number_of_char) استعادة الجزء الأيسر من مجال نصي مطلوب
RIGHT(c,number_of_char) استعادة الجزء الأيمن من مجال نصي مطلوب
ROUND(c,decimals) تصحيح عدد الأرقام العشرية لمجال معين
MOD(x,y) استعادة الباقي في عملية التقسيم
NOW() استعادة التاريخ الحالي للنظام
FORMAT(c,format) تغيير طريقة عرض مجال معين
DATEDIFF(d,date1,date2) للقيام بحسابات التاريخ