تقييم الموضوع :
  • 1 أصوات - بمعدل 1
  • 1
  • 2
  • 3
  • 4
  • 5
استنتاج الارقام العشوائية في ال SQL Server
#1
السلام عليكم ورحمة الله وبركاتة

موضوعي قديم بعض الشيء
وهو كيفية استنتاج ارقام عشوائية في ال TSQL

انتجت لنا مايكروسوفت دالة او ال Function المسماة Rand وهي اختصار لل random (( العشوائية )) وهي تفيد في انتاج ارقام عشرية صحيحة

الصيغة العامة التاية التي تكتب بها هي

RAND ( [ seed ] )

وكمثال جرب الكود التالية كما في الصورة



تفيد هذة الدالة في انشاء ارقام عشوائية ينتجها محرك ال SQL Server مما يسرع لدينا سرعه الاستعلام لان المعالجة تتم فقط في ال SQL Server كما في الشكل اعلاة

هنالك العديد من الطرق لانتاج هذة الرقام وسناخذ الامثلة الكافية اليها

طريقة 1 انتاج ارقام عشوائية بشكل INT

SELECT CAST(RAND() * 1000 AS INT) AS [RandomNumber]

طريقة 2 في حال اردنا رقم عشوائي ثابت عن طريق تحديد الخاصية Seed لنلاحظ المثال التالي

SELECT RAND(1) AS [RandomNumber]

وكفكرة اخرى في انتاج ارقام ثابتة لاحصائيات جدول معين كما في المثال التالي

Select RAND()as [RandomNumber] ,ID_Fied from TBL_name

لاحظ في كل مرة نقوم فيها بعرض الجدول يتغير التعداد

افكار اخرى طريقة 3

انتاج ارقام عشوائية محصورة بين قيمتين جرب الكود التالي

DECLARE @Random INT;

DECLARE @Upper INT;

DECLARE @Lower INT

SET @Lower = 1 —- ادنى قيمة

SET @Upper = 999 —- اعلى قيمة

SELECT @Random = ROUND(((@Upper – @Lower -1) * RAND() + @Lower), 0)

Print @Random

افكار واكواد اخرى استخلاص الرقم العشوائي من تاريخ ووقت الحاسبة

SELECT RAND( (DATEPART(mm, GETDATE()) * 100000 )
+ (DATEPART(ss, GETDATE()) * 1000 )
+ DATEPART(ms, GETDATE()) )

وك دالة اخرى في استنتاج ارقام عشوائية نستخدم NEWID() الصيغة القواعدية لها هي كالتالي

NEWID()

لكن فرقها عن الاولى في انها تنتج ارقام عشوائية بصيغة ال Hexadecimal اي الارقام الستة عشر

لنجرب المثال التالي


لنحاول تقريب النتاج الى عشرية كما في الكود التالي

SELECT CAST(CAST(newid() AS binary(4)) AS int)

وكفكرة في استخدام الرقام العشوائية لدينا بعض مواقع الويب تحتاج الى ادخال اسم العضو ومن ثم ارسال passowrd لهذا الاسم على الايميل

ففكرة الارقام العشوائية سوف تفيدنا هنــا

شكراً لكم وارجوا منكم دعائكم الكريم
مدونتي
صفحتي على الفيسبوك

MCTS SQL Server 2008
MCSA SQL Server 2012
Microsoft Certified Trainer
SharePoint Administrator
الرد }}}
تم الشكر بواسطة: 30june , Sajad
#2
السلام عليكم

بارك الله فيك اخوي العزيز

تحياتي
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  طريقة عرض الأيام باللغة العربية في استعلام SQL Server ggtt17121985 0 986 12-10-23, 10:22 PM
آخر رد: ggtt17121985
  مساعده في تثبيت SQL Server Owz 1 422 22-09-23, 01:54 AM
آخر رد: Taha Okla
Photo [SQL] رسالة خطأ عند تنصيب sql server 2008 عثمان محمد جبور 2 1,736 07-10-21, 09:02 AM
آخر رد: عثمان محمد جبور
  تاريخ تنصيب ال SQL Server وتاريخ الانتهاء للنسخة ال Evaluation عمر المستشار 1 3,180 21-01-21, 02:00 PM
آخر رد: akrem72
  دورة في برنامج SQL Server 2008 تحت إشراف الاستاذ المهندس أحمد النجار ابو ابراهيم 2 6,320 15-04-20, 06:26 PM
آخر رد: nizar haider
  استفسار حول SQL SERVER MANGER mne3000 1 1,756 05-04-20, 01:21 AM
آخر رد: محمد كريّم
  max From views in sql server nabil.1710 2 2,279 15-01-20, 04:57 AM
آخر رد: EYADISMAIL
  مشكلة في تحميل sql server 2014 انيس القبائلي 0 1,834 09-01-20, 08:22 PM
آخر رد: انيس القبائلي
  [مقال] النسخ الاحتياطي التلقائي - Auto Back Up SQL Server Databases ابو ليلى 5 16,053 24-10-19, 03:43 PM
آخر رد: nouribenyahia
  SQL server tools to build stored procedures Akif 0 2,387 16-05-18, 01:25 PM
آخر رد: Akif

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم