Deterministic vs Non-Deterministic Functions
301, MovedPermanently
https://www.microsoft.com/learning/en-us/exam-70-461.aspx icon
چندی پیش در سایت مایکروسافت گذری داشتم و محتویات آزمون Querying Microsoft SQL Server 2012 را نگاه میکردم(اینجا ). در این محتویات دو واژه به چشمم خورد که به نظر آمد توضیحاتی در باب آنها اگر داده شود بهتر خواهند بود. این واژه‌ها Deterministic Functions و Non-Deterministic Functions هستند.
Deterministic Function چیست؟
واژه Deterministic در لغت معانی متفاوتی دارد، ولی یکی از معانی آن "معین بودن" میباشد. توابعی در SQL Server تابع معین هستند که به ازای ورودی‌های یکسان، همواره خروجی یکسان داشته باشند. برای مثال تابع POWER برای محاسبه توان میباشد. هرگاه این تابع با ورودی 2 و 3 صدا زده شود، حتما خروجی 8 میباشد و خروجی هیچگاه تغییر نخواهد کرد. البته ذکر این نکته نیز لازم میباشد که معین بودن یا نامعین بودن یک تابع، ربطی به built-in بودن یا نبودن آن ندارد. 
Non-Deterministic Function چیست؟ 
واژه Non-Deterministic در لغت معانی متفاوتی دارد، ولی یکی از معانی آن "نا معین بودن" میباشد. توابعی در SQL Server تابع نامعین هستند که به ازای ورودی‌های یکسان، همواره خروجی متفاوت داشته باشند. برای مثال تابع GetDate() را در نظر بگیرید. هرگاه این تابع صدا زده میشود خروجی‌های متفاوت تولید میشوند.
 برای مشاهده لیست توابع معین و نامعین built-in اینجا کلیک کنید. 
Deterministic vs Non-Deterministic Functions