تازه ها
استفاده از تابع اعداد تصادفی در random number in sql
خوب باید بگم استفاده از تابع rand توی sql اصلا به کارتون نمیاد . قبل از اینکه مثل من کلی کلنجار برید با سیستم بهتون پیشنهاد می کنم از تابع NewID که یک GUID - یک رشته عددی تصادفی که هرگز تکرار نمیشه - برای این کار استفاده کنید .
روش غلط :
select *
from dbo.users order by Rand()
روش درست :
select *
from dbo.DS_Shop_Product order by NEWID()
حالا اگه می خواید که یه عدد تصادفی رو در میان select داشته باشید بازم تابع rand به کارتون نمیاد . چون تو تمام رکورد ها یک عدد مشترک رو بر می گردونه . برای اینکارم پیشنهاد می کنم از این روش استفاده کنید :
SELECT TOP 10 ABS(CAST(CAST(NEWID() AS VARBINARY) AS INT)) AS [RandomNumber],
[CustomerID], [CompanyName], [ContactName]
FROM [dbo].[Customers]
برای مشاهده مثال کاملتر به اینجا مراجعه کنید : Generate Random Numbers
توضیحات :
این تابع مخصوص اسکیوال سروره ماکروسافته و برای مطالعه روشهای دیگه در زبانهای مدیریت دیتابیس به SQL to Select a random row from a database table مراجعه کنید