जवाबों:
आप अपनी संग्रहित प्रक्रिया के तर्क के रूप में एक फ़ंक्शन कॉल में पास नहीं हो सकते। इसके बजाय एक मध्यवर्ती चर का उपयोग करें:
DECLARE @tmp DATETIME
SET @tmp = GETDATE()
EXEC DisplayDate @tmp;
जैसा कि मिच गेहूं ने उल्लेख किया है कि आप एक फ़ंक्शन पास नहीं कर सकते।
यदि आपके मामले में आपको एक पूर्व-निर्धारित मूल्य या GETDATE () में पास होना चाहिए - तो आप डिफ़ॉल्ट मान का उपयोग कर सकते हैं। उदाहरण के लिए, अपनी संग्रहीत प्रक्रिया को संशोधित करें:
ALTER PROC DisplayDate
(
@DateVar DATETIME = NULL
) AS
BEGIN
set @DateVar=ISNULL(@DateVar,GETDATE())
--the SP stuff here
SELECT @DateVar
END
GO
और फिर कोशिश करें:
EXEC DisplayDate '2013-02-01 00:00:00.000'
EXEC DisplayDate
टिप्पणी : यहाँ मेरा मानना था कि NULL मान इस पैरामीटर के लिए उपयोग में नहीं है। यदि यह आपका मामला नहीं है - आप एक और अप्रयुक्त मूल्य का उपयोग कर सकते हैं, उदाहरण के लिए '1900-01-01 00: 00: 00.000'