الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Function لتحويل التاريخ الميلادي الي تاريخ هجري

Featured Replies

بتاريخ:

السلام عليكم
إخواني هذه function لتحويل التاريخ الميلادي الي هجري بالفورمات التي تريدها
ملحوظة : اليوم الزائد هو لمعالجة مشكلة انحراف التاريخ الهجري
ملحوظة كمان مرة ;): لا يمكن استدعاء هذه الfunction من جملة select لانها تحتوي علي جملة ddl

CREATE OR REPLACE function to_DATE_ARABIC( p_date in date,
				  p_fmt in varchar2 ) return varchar2
 as
  l_return_string varchar2(255);
  v_cal varchar2(255):='arabic hijrah';
 begin
  execute immediate
	 'alter session set nls_calendar = '''||V_cal||'''';
  l_return_string := to_char( p_date+1, p_fmt );
  execute immediate
	 'alter session set nls_calendar = ''Gregorian''';
l_return_string:=replace(l_return_string,'الثانية','الثانى');
 return l_return_string;
 end;
/


لا تنسونا من الدعاء :D
بالتوفيق

to_date_arabic.txt

تم تعديل بواسطة hanon_OCP

بتاريخ:

مشكور اخي وجزاك الله خير

بتاريخ:

الف شكر الك

بس يا ريت لو تشرحلي هالجملة execute immediate

بتاريخ:
  • كاتب الموضوع

السلام عليكم
الأخ الكريم execute immediate هي oracle supplied procedure or command
لتنفيذ اوامر الddl أو الديناميك SQL بداخل pl/sql block فمعروف انه لا يمكن تنفيذ أوامر ddl بداخل اي function او pl/sql block و لكن هذه الprocedure تتييح لنا إمكانية عمل ذلك و أيضا تنفيذ الديناميك SQl و هي الجمل التي مثلا لا يعرف إسم الجدول او العمود الذي ستعمل عليه الا في الرن تايم
و هذه الprocedure موجودة بدأ من الإصدار 8i
بالتوفيق

بتاريخ:

السلام عليكم
عند تشغيل هذة الفنكشن تعطى رسالة الخطأ
PLS-00103: Encountered the symbol "IMMEDIATE" when expecting one of the following:

:= . ( @ % ;
The symbol ":= was inserted before "IMMEDIATE" to continue.

بتاريخ:
  • كاتب الموضوع

السلام عليكم
الأخ محمد سعيد
انت فقط عند نسخ الفانكشن من البراوزر
فلت منك حرف غالبا هو ;
تأكد عند النسخ انك تأخذ كل الفانكشن
لقد حاولت إرفاق ملف بها و لكن هناك مشكلة في إرفاق الملفات و لا أستطيع إرفاقها
و عموما فقد رفعت السكريبت الخاص بها في هذه اللنك
من يرد تحميله فلحمله من هنا
من هنـــــــــا
بالتوفيق

تم تعديل بواسطة hanon_OCP

بتاريخ:

ملحوظه execute immediate تعمل علي الداتا بيز و ليس علي الفورمز يعني يجب انشائها علي الداتا بيز
سلام

بتاريخ:

طيب لو عايز انفذ جملة dynamic sql فى ال run time مينفعش استخدمها ولا استخدم forms_ddl ارجو التوضيح وجزاكم الله خيرا

  • بعد 4 أسابيع...
بتاريخ:

السلام عليكم
هذه الدالة رائعة و لكن اجد صعوبة فى فهم الدالة REPLACE
ارجو توضيح وظيفتها
جزاكم الله خيرا

بتاريخ:
  • كاتب الموضوع

السلام عليكم
الأخ الكريم
الfunction replace هي function تستخدم لاستبدال حروف او كلمات من string
و وصفها كالتالي

l_return_string:=replace(l_return_string,'a','b');


1- هي تأخذ 3 بارمتر الاول و هو i_return_stringو هو النص الذي نريد الاستبدال فيه
2-و الثاني 'a'و هو النص الذي نريد استبداله
3-و الثالث و هو 'b'و هو النص الذي نريد ابداله مع 'a'
حيث ستقوم الفانكشن باستبدال كل نسخ الحرف 'a' بحرف b
و هذا المثال يوضح ذلك

SQL> select replace('abcdefaadd','a','b')
 2  from  dual;

REPLACE('A																						  
----------																						  
bbcdefbbdd	


بالتوفيق

بتاريخ:

السلام عليكم
لم اقصد كيفية عمل تلك الدالة و لكن الهدف منها فى هذا الكود و لما لجئت اليها؟

بتاريخ:
  • كاتب الموضوع

السلام عليكم
هذه الدالة رائعة و لكن اجد صعوبة فى فهم الدالة REPLACE
ارجو توضيح وظيفتها
جزاكم الله خيرا

السلام عليكم
الأخ العزيز سؤالك لم يوضح تساؤلك عن غرض استخدام replace function بداخل الكود
و انما فقط توضيح وظيفة الreplace function بشكل عام
عموما
فقد تم استخدام الfunction replace
لتغيير كلمة الثانية التي تظهر في يعض الشهور الي كلمة الثاني كما في شهر جمادي الثاني
حيث كان يظهر عندي بشكل جمادي الثانية
و هو ليس الإسم الصحيح للشهر
و ان كان الشهر يظهر عندك مظبوط فلا داعي لاستخدام الreplace
بالتوفيق
بتاريخ:

ارجو وضع مثال للبراميتر لكي تعمل الfuction

  • بعد 2 أسابيع...
بتاريخ:

يمن الله كتابك
ويسر حسابك
وبلغك مرادك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.