بتاريخ: 5 يناير 201313 سنة comment_230817 السلام عليكمأريد عمل دالة عندما أدخل الكلمة تقوم باسترجاعها بالمقلوب مثلا عندما أدخل كلمة "محمد" تسترجعها بالشكل ده "دمحم"أنا حاولت أعمل دالة تقوم بهذه الوظيفة ولكنها تقوم باسترجاع أول حرف فقط ..كود الدالة : [left]CREATE OR REPLACE FUNCTION back_word (p_word VARCHAR2) RETURN VARCHAR2 IS v_length NUMBER (20); v_word VARCHAR2 (20); v_con constant number := 1 ; BEGIN v_length := LENGTH (p_word); LOOP v_word:= SUBSTR (p_word, v_length, v_con); v_length := v_length - 1; EXIT WHEN v_length = 0; END LOOP; RETURN v_word; END;[/left] وشكرا تم تعديل 5 يناير 201313 سنة بواسطة Ahmad.Hasan تقديم بلاغ
بتاريخ: 5 يناير 201313 سنة comment_230822 السلام عليكمببساطة استخدم الدالة التالية: Select Reverse('PSOUG') From Dual; تقديم بلاغ
بتاريخ: 5 يناير 201313 سنة comment_230823 السلام عليكمببساطة استخدم الدالة التالية:Select Reverse('PSOUG') From Dual; زادك الله علماً ونفعك بهأنا كنت لا أعرف دالة reverse فعملت دالة بسيطة تقوم بنفس العمل: CREATE OR REPLACE FUNCTION BACK_WORD (P_WORD IN VARCHAR2) RETURN VARCHAR2 AS W CHAR; WORD VARCHAR2(100); BEGIN FOR L IN 1 .. LENGTH(P_WORD) LOOP W := SUBSTR( P_WORD , -L , 1 ); WORD := WORD || W; END LOOP; RETURN WORD; END; لتنفيذها استخدم الأمر التالي: select back_word('Az123') from dual; تقديم بلاغ
بتاريخ: 5 يناير 201313 سنة كاتب الموضوع comment_230825 جزاكم الله خيرا المنتدى دا فعلا من أفضل المنتديات على الإطلاق فى الوطن العربى "دا من وجهة نظرى" - ودا بالناس المحترمة اللى فيهشكرا أخى Az123 كان ناقص فى الكود بتاعى الجزئية ده "word := word || w" ولما كتبتها فى الكود اشتغل -- بارك الله فيك وبارك الله فيك أخويا أحمد حسن .. على فكرة أنا كنت ناسى الدالة Reverse إدعولى يا جماعة أنا ربنا كرمنى واشتغلت فى شركة بس أنا لحد دلوقتى فى فترة الاختبار . تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.