الدالة CONCAT في SQL هي دالة سلسلة تُستخدم لدمج سلسلتين أو أكثر. تقوم خدمة Concat بتحويل القيم الخالية إلى سلسلة فارغة عندما نعرض النتيجة. تُستخدم هذه الوظيفة لربط سلسلتين لإنشاء سلسلة واحدة. ال المشغل أو العامل يستخدم للربط سلاسل الأحرف و سلسلة العمود .
يمكننا استخدام أ حرفي في وظيفة كونكات. الحرفي هو أ رقم، حرف ، أو تاريخ يتضمن عبارة SELECT.
بناء جملة وظيفة CONCAT:
SELECT CONCAT (String 1, String 2, String3.., String N) FROM [Source]
مثال-
SQL> SELECT CONCAT ('FIRST', 'SECOND');
CONCAT('الأولى'،'الثانية') | الثانية الأولى |
لفهم وظيفة CONCAT بالتفصيل، ضع في اعتبارك جدول Staff_tbl، الذي يحتوي على السجلات التالية -
اصطلاح الاسم جافا
SQL> SELECT * FROM employee_ tbl ;
بطاقة تعريف | اسم | تاريخ العمل | DAILY_TYPING_PAGES |
---|---|---|---|
1 | ميخائيل | 15-02-2009 | 270 |
2 | زينة | 2003-03-24 | 250 |
2 | kachner | 2007-08-19 | 277 |
2 | تحذير | 2007-04-25 | 264 |
3 | مرح | 2007-05-17 | 250 |
4 | جذاب | 2006-06-23 | 270 |
5 | دلف | 2004-05-28 | 230 |
لذا، إذا أردنا ربط جميع الأسماء ومعرفات الموظفين وتاريخ العمل بالجدول أعلاه، فيمكننا القيام بذلك باستخدام الأمر التالي -
SQL > SELECT CONCAT (id , name , work_date ) ->FROM employee_ tbl; CONCAT(id, name, work_date)
1ميشال2009-02-15 |
2Zeena2003-03-24 |
2كاشنر2007-08-19 |
2warner2007-04-25 |
3joy2007-05-17 |
4atire2006-06-23 |
5delph2004-05-28 |
مثال 2:
SELECT id, first_name, last_name, first_name || last_name, salary, first_name || salary FROM myTable Output (Third and Fifth Columns show values concatenated by operator ||)
انتاج:
بطاقة تعريف | اسم العائلة | الاسم الأول | الاسم_الأول||الاسم_الأخير | مرتب | الاسم_الأول||الراتب |
---|---|---|---|---|---|
1 | فاصوليا | السيد. | السيد فول | 10000 | السيد 10000 |
2 | وليام | سونيتا | سونيتا ويليام | 50000 | سونيتا50000 |
3 | tpoint | جافا | جافاتبوينت | 20000 | جافا20000 |
4 | &مثال | درس تعليمي | البرنامج التعليمي والمثال | 90000 | البرنامج التعليمي90000 |
ملاحظة: في المثال أعلاه، استخدمنا '||'، والذي يُعرف باسم عامل التسلسل، ويتم استخدامه لربط عمودين أو أكثر في استعلام التحديد. هذا العامل مستقل عن نوع بيانات العمود.
هنا، قمنا بربط عمودين، أي الاسم الأول + اسم العائلة وكذلك الاسم الأول + الراتب.
يمكننا ان نستخدم حرفية السلسلة في مشغل CONCAT.
مثال 1 : استخدام الحرف الحرفي
بناء الجملة
SELECT id, first_name, last_name, salary, first_name||' has salary '||salary as 'new' FROM myTable
انتاج: (تسلسل ثلاث قيم وإعطاء 'اسم' جديد)
بطاقة تعريف | الاسم الأول | اسم العائلة | مرتب | جديد |
---|---|---|---|---|
1 | جافاتبوينت | tpoint | 20000 | جافا لديها راتب 20000 |
2 | درس تعليمي | &مثال | 30000 | البرنامج التعليمي لديه الراتب 30000 |
3 | شين | واتسون | 40000 | شين لديه راتب 40000 |
4 | جنيفر | قملة | 60000 | جنيفر لديها راتب 60000 |
ملاحظة: لقد استخدمنا الراتب كحرف حرفي في عبارة التحديد. يمكننا استخدام التاريخ الحرفي والرقم الحرفي وفقًا لمتطلباتنا في الجدول.
مثال 2: استخدام الحرف وكذلك الرقم الحرفي
بناء الجملة:
SELECT id, first_name, last_name, salary, first_name||100||' has id '||id AS 'new' FROM myTable Output (Making the output readable by concatenating a string with values)
انتاج:
بطاقة تعريف | الاسم الأول | اسم العائلة | مرتب | جديد |
---|---|---|---|---|
1 | جافاتبوينت | tpoint | 20000 | Java100 لديه معرف 1 |
2 | درس تعليمي | &مثال | 30000 | البرنامج التعليمي 100 لديه معرف 2 |
3 | شين | واتسون | 40000 | Shane100 لديه معرف 3 |
4 | جنيفر | قملة | 60000 | Jennifer100 لديه معرف 4 |
في المثال أعلاه، استخدمنا الراتب كحرف حرفي كذلك 100 كرقم أصلي في بياننا المحدد.