منتديات نبع الفرات

تمت ارشفة منتديات نبع الفرات

المشاركات من الموضوع الدوال المستخدمة في sql

  1. بواسطة امل

    [صورة]
    السلام عليكم ورحمة اله وبركاته
    اليوم اقدملكم تقريبا كل الدوال المستخدمة في لغة sql
    طبعا راح نصنف الدوال حسب مجموعات شنو هالمجموعات ؟؟؟
    المجموعات كثلا الدوال المستخدمة بالرياضيات,التاريخ والووقت ,السلاسل الحرفية و الدوال الشرطية

    نجي اولا
    الرياضيات :::
    1. دالة ABS
    دالة ايجاد القيمة المطلقة abslute value
    Select abs(column name) from table

    2. AVG
    دالة المعدل ايجاد معدل الاعداد

    Select column1,avg(column1) from table
    Group by column1
    طبعا ها الداله تستخدم مع Group by الي راح نشرح عملها لاحقا

    3. Ceil
    عمل هذه الداله ايرجاع القيمو التقريبية للعدد مثلا
    Ceil(2.7)=3

    4. Cos
    ارجاع قيمة الجيب تمام في النظام الدائري

    5. Count
    ايجاد عدد القيم الغير فارغة للجداول طبعا تستعمل مع group by

    6. Div
    ايجاد القيمة الصحيحة من ناتج القسمة
    Select floor (col1/col2) from table

    7. Max
    ايجاد اكبر قيمة في الحقول تستعمل مع

    8. Min
    ايجاد اصغر قيمة بالحقول تستعمل مع

    9. Mod
    ايجاد ناتج باقي القسمة وهذا يفيد اذا استعملنا في فصل العناصر الفردي والزوجي يرجع قيمة 0 او 1
    اذا 0 فان العدد زوجي
    اما اذا 1 فان العدد فردي

    10. Modulo%
    نفس عمل الداله mod

    11. Round
    ايجاد القيمة التقريبية للعدد
    Round(2.7,0)=3
    Round(2.71,1)=2.7

    12. Sin
    ايجاد ناتج داله الجيب sine

    13. Tan
    ايجاد ناتج دالة الظل tangent


    [صورة]


    ثانيا
    التاريخ والوقت ::

    1. Current_time STAMP
    ارجاع الوقت والتاريخ الحالي
    Select Current_time STAMP , col2 from table

    2. Extract
    استخراج اجزاء التاريخ وتكون صيغتها كالتالي

    Extract (year from td) as yr,extract(month from td) as moth
    From table
    حيث ان td هو الجدول الذي يحتوي التاريخ

    3. Day
    استخراج الايام من التواريخ

    4. Hour
    ارجاع الساعة من الوقت

    5. Minute
    ارجاع الدقائق من الوقت

    6. Month
    ارجاع قيمة الشهر او الشهر من التاريخ

    7. +date
    زيادة ايام التاريخ بمقدار معين مثلا
    DATE '2006-05-20' + 7 -> DATE '20060527'
    لكن عيوب هذه الدالة انها ترجع التاريخ بلا ترتيب مجموعة من الارقام
    Date column +القيمة المراد زيادتها

    8. +interval
    هذه الداله زيادة مقدار التاريخ بالايام او الاشهر او السنين

    Date column +interval القيمة المراد زيادتها مثلا 7 day
    Date column +interval القيمة المراد زيادتها مثلا 7 month
    Date column +interval القيمة المراد زيادتها مثلا 7 year

    9. QUARTER
    تسمح استرداد فترة 3 أشهر من تاريخ.
    والفترات كما في التوزيع التالي
    First Quarter January 1 March 31
    Second Quarter April 1 June 30
    Third Quarter July 1 September 30
    Fourth Quarter October 1 December 31

    10. Second
    استخراج الثواني من الوقت
    [صورة]

    ثالثا
    السلاسل الحرفية::
    1. Instr
    ايجاد موقع الحرف او المقطع المختار ترجع قيمة رقمية
    Instr(column ,’الحرف او المقطع ‘)

    2. Left
    استخراج n من الرموز او الحروف من الجهة اليسر للسلسلة الحرفية

    Left(column,’n’)
    Left(‘hello world’,4)==hell

    3. Len
    ايجاد طول السلسلة الحرفية
    نفس عمل الداله length


    4. Position
    ايجاد موقع حرف او سلسله حرفية موجودة في الحقل او سلسلة معينة مثلا طبعا ترجع قيمة رقمية

    Position (‘an’,IN column)

    5. +string
    دمج سلسلتين حرفيتين
    Select column1+column2 from table

    6. Replace
    تبديل حروف او سلسلة حرفية بدل اخرى في الحقول
    Replace(column ,’ s1’,’s2’)

    7. Right
    استخراج n من الحروف من على يمين السلسلة الحرفية
    Right(column,n)

    8. Substr
    استخراج حروف من النص
    SUBSTR('Hello world', 2, 3)== 'ell'
    اي استخرج ثلاث حروف ابداءا من الحرف الثاني

    9. Substring
    نفس عمل الداله السابقة لكن فقط اختلاف الصيغة
    SUBSTRING('Hello world' FROM 2 FOR 3) -> 'ell'

    10. Trim
    ازالة الفراغات من جوانب السلسلة الحرفية
    TRIM('Hello world ') -> 'Hello world'

    11. Concat
    دمج سلسلتين او اكثر حرفيات مع بعض

    CONCAT(s1, s2( ...,

    [صورة]

    رابعا
    الشرطية ::
    1. Case
    ارجاع قيم مختلفة تحت شروط مختلفة

    CASE WHEN condition1 THEN value1
    WHEN condition2 THEN value2
    ELSE def_value
    END

    SELECT name, population
    ,CASE WHEN population<1000000
    THEN 'small'
    WHEN population<10000000
    THEN 'medium'
    ELSE 'large'
    END
    FROM table


    2. Ifnull
    ترجع قيمة من قيمتين احدهما ليست خالية

    IFNULL(x,y) = x if x is not NULL
    IFNULL(x,y) = y if x is NULL

    3. Nullif
    ترجع قيمة فارغة حسب الشروط التالية

    NULLIF(x,y) = NULL if x=y
    NULLIF(x,y) = x if x != y

    4. Nvl
    ترجع اول قيمة اذا لم تكن فارغة وترجع الثانية اذا كانت الاوللا قيمة فارغة

    NVL(x,y) = x if x is not NULL
    NVL(x,y) = y if x is NULL
  2. بواسطة احمد ابو سجاد

    شكرااا جزيلا معلومات قيمه جدا