عبارة SQL
يتم استخدم مناطق مستكشف البيانات لتحديد البيانات المطلوب عرضها باستخدام إحدى عبارات SQL أو أكثر. تنطبق معلمات SQL على أنواع المناطق التالية
-
معلومات مستكشف بيانات - عبارة SQL فردية (F1–DE-SINGLE). ويكون للمعلمة عبارة SQL للوصف.
-
مستكشف بيانات - عبارات SQL متعددة (F1–DE). تتبع المعلمات نموذج الوصف عبارة SQL لحوالي x من المرات.
-
مستكشف بيانات استعلام - عبارات SQL متعددة (F1–DE-QUERY). تتبع المعلمات نموذج الوصف عبارة SQL لحوالي x من المرات.
الكلمة الأساسية |
---|
في |
يوفر الجدول التالي قائمة من كلمات 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 |