عبارة SQL

يتم استخدم مناطق مستكشف البيانات لتحديد البيانات المطلوب عرضها باستخدام إحدى عبارات SQL أو أكثر. تنطبق معلمات SQL على أنواع المناطق التالية

  • معلومات مستكشف بيانات - عبارة SQL فردية (F1–DE-SINGLE). ويكون للمعلمة عبارة SQL للوصف.

  • مستكشف بيانات - عبارات SQL متعددة (F1–DE). تتبع المعلمات نموذج الوصف عبارة SQL لحوالي x من المرات.

  • مستكشف بيانات استعلام - عبارات SQL متعددة (F1–DE-QUERY). تتبع المعلمات نموذج الوصف عبارة SQL لحوالي x من المرات.

ملاحظة: في حالة تكوين النسخة المعدلة الخاصة بك بحيث يتم تقييد الدوال التي يمكن استخدامها عند تحديد SQL، سيتم إصدار خطأ في وقت التشغيل عند العثور على دوال غير مُدرجة بقائمة السماح. ويمكن عرض قائمة السماح باستخدام رابط عرض قائمة السماح بدوال SQL في منطقة "التلميحات" من صفحة صيانة المنطقة.
ملاحظة: يجب أن تحرص عبارة SQL للمنطقة على عدم استخدام الكلمات الأساسية المحجوزة التالية للاسم المستعار للجدول. (على سبيل المثال، الاسم المستعار للجدول في عبارة SQL هذه هو 'XX': SELECT 'X' FROM W1_​ACTIVITY_​TYPE XX.)
الكلمة الأساسية
في

يوفر الجدول التالي قائمة من كلمات SQL الأساسية المستبدلة والتي يمكن استخدامها بمعلمات عبارة SQL بمناطق المستكشف. في وقت التنفيذ، يحدد النظام قاعدة البيانات ويقوم باستبدال الكلمة الأساسية بالصياغة المحددة لقاعدة البيانات:

الكلمة الأساسية

الوصف

الأمثلة

@toCharacter()

تحويل المدخلات إلى نوع البيانات "حرف".

select @toCharacter(batch_cd) as batchCode from ci_batch_ctrl

@toDate()

تحويل المدخلات إلى نوع البيانات "تاريخ".

حدد @toDate(last_​update_​dttm) باعتباره lastUpdateDate من ci_​batch_​ctrl

@toNumber()

تحويل المدخلات إلى نوع البيانات "رقم".

حدد @toNumber(next_​batch_​nbr) من ci_​batch_​ctrl

@currentDate

البحث عن التاريخ الحالي.

تحذير: يجب عدم استخدام دالتي أوراكل SYSDATE وCURRENT_​DATE نظرًا لعدم إمكانية قيامهما بتعديل التواريخ بشكل صحيح من المنطقة الزمنية لقاعدة البيانات إلى المنطقة الزمنية للتثبيت، إذا لزم الأمر.

select batch_​cd، @currentDate as today from ci_​batch_​ctrl

@currentTimestamp

البحث عن التاريخ/الوقت الحالي.

تحذير: يجب عدم استخدام دالتي أوراكل SYSTIMESTAMP وCURRENT_​TIMESTAMP نظرًا لعدم إمكانية قيامهما بتعديل التاريخ/الوقت بشكل صحيح من المنطقة الزمنية لقاعدة البيانات إلى المنطقة الزمنية للتثبيت، إذا لزم الأمر.

حدد batch_​cd من ci_​batch_​ctrl حيث last_​update_​dttm > @currentTimestamp

@concat

جمع قائمة النتائج الخاصة بعمودين أو أكثر.

حدد batch_​cd @concat next_​batch_​nbr concatNbr من ci_​batch_​ctrl

@substr(string, start)

String هي سلسلة المدخلات التي تحاول الحصول على سلسلة فرعية لها.

Start هو موضع الحرف الخاص بنتائج المخرجات.

select batch_​cd batchCode from ci_​batch_​ctrl

Result: TESTCD

حدد @substr(batch_​cd،3) batchCode من ci_​batch_​ctrl

Result: STCD

@substr(string, start, end)

String هي سلسلة المدخلات التي تحاول الحصول على سلسلة فرعية لها.

Start هو موضع الحرف الخاص بنتائج المخرجات.

End هو عدد الحروف التي يجب إدخالها في المخرجات من موضع البداية.

Select batch_​cd batchCode from ci_​batch_​ctrl

Result: TESTCD

حدد @substr(batch_​cd,3,2) batchCode من ci_​batch_​ctrl

Result: ST

@trim

إزالة المساحات البيضاء للمخرجات من الجانبين.

حدد @trim(batch_​cd) باعتباره batchCode من ci_​batch_​ctrl

الصياغة التالية مرتبطة بالبحث "التقريبي". لا يمكن تطبيقها إلا في حالة تمكين "نص قاعدة بيانات أوراكل" بالإضافة إلى إنشاء فهرس نص السياق. ارجع إلى خيارات البحث المتقدم للحصول على مزيد من المعلومات.

@fuzzy(string, score, numresult, ‘weight’)

String هي القيمة المدخلة للبحث.

Score هو درجة "التقريب". تتراوح القيم الصالحة بين 1 - 80. كلما ارتفع العدد، كلما كان البحث أكثر دقة. القيمة الافتراضية هي 60.

Numresults عدد الاختلافات المطلوب مراعاتها للسلسلة. تتراوح القيم الصالحة بين 1 و5000. القيمة الافتراضية هي 100.

الإشارة إلى ’weight‘ للإشارة إلى أن النتائج قد تم عرضها حسب ترتيب قيم الترجيح. قم بترك هذا الإعداد دون تشغيله للإشارة إلى أن النتائج قد تم عرضها حسب ترتيب مجموع النقاط.

تعيين مجموع النقاط على 70 وعدد النتائج على 6 مع تحديد قيمة الترجيح.

select user_​id, last_​name from sc_​user where contains(last_​name, @fuzzy(:F1,70, 6, 'weight')) > 0

@fuzzy(string)

يؤدي ذلك إلى عرض السلسلة الناتجة عن عملية التوسيع التقريبي حيث يتم افتراض القيمة الافتراضية على 60 فيما يخص score بينما يتم افتراضها على 100 فيما يخص numresult.

استخدام القيم الافتراضية:

select user_​id, last_​name from sc_​user where contains(last_​name, @fuzzy(:F1))> 0

@fuzzy(string, score)

يؤدي ذلك إلى عرض السلسلة الناتجة عن عملية التوسيع التقريبي بقيمة score المحددة واستخدام القيمة الافتراضية 100 فيما يخص numresult.

تعيين مجموع النقاط على 70.

select user_​id, last_​name from sc_​user where contains(last_​name, @fuzzy(:F1,70)) > 0

@fuzzy(string, score, numresult)

يؤدي ذلك إلى عرض السلسلة الناتجة عن عملية التوسيع التقريبي مع تحديد مجموع نقاط التشابه وnumresults.

تعيين مجموع النقاط على 70 وعدد النتائج على 6.

select user_​id, last_​name from sc_​user where contains(last_​name, @fuzzy(:F1,70, 6)) > 0