الانتقال إلى المحتوى
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.

أريد تابع لهذا الأمر

Featured Replies

بتاريخ:

هل يوجد تابع بيعمل إن كان العدد موجب بيخليه و إن كان سالب يجعله null

بتاريخ:

يأخ zakkar

ماذا تقصد "بتابع" و ياريت توضع السؤال ،،،

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

التابع هو function مثل abs

بتاريخ:

نعم توجد هناك دالة جاهزة اسمها abs

abs(n) 

SELECT ABS(-15) "Absolute" FROM DUAL;
Absolute
----------
15



وطريقة اخرى :
ممكن تعمل دالة تستقبل متغير مثلا A
وتعمل شرط ، اذا كانت A اقل من صفر يقوم بجعل A = A * -1

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

أريد Function إذا كان العدد موجب يبقى العدد كما هو وإن كان العدد سالب يصبح null

بتاريخ:

ممكن تعمل Database trigger يقوم بتأكد من القيمة قبل ادخالها

create or replace trigger chk_sal
before insert on emp
for each row
begin
if :new.sal < 0 then
:new.sal  := null;
end if;
end ;

بتاريخ:

يمكن أن تستخدم التابع
case ... when ... then ... else ... end
راجع كتاب
Oracle9i SQL Reference
ملاحظة هذا التابع موجود فقط في الاصدار 9 من أوراكل
وهذا المثال يحل المشكلة

SQL> create table test(dummy number);

SQL> insert into test values (15);


SQL> insert into test values (-10);


SQL> commit;


SQL> select * from test;

DUMMY
----------
15
-10

select case when dummy>=0 then dummy
else null end
from test

CASEWHENDUMMY>=0THENDUMMYELSENULLEND
------------------------------------
15

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

مشكور أخي محب الأوراكل هذا ما أريده بالفعل
ومشكور أخي أبو صالح على التجاوب

بتاريخ:

العفو على أاخي الكريم

  • بعد 1 شهر...
بتاريخ:

استخدم decode او nvl2 بكل بساطه

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

SELECT NULLIF(ABS(&num),-1*&num) FROM dual;

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

  • بعد 3 سنة...
بتاريخ:

thank you very much

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

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

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

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

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

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.