我在SQL Server Management Studio 2008中創建了一個簡單的用戶定義函數作爲測試。它根據出生日期和第二個日期計算出一個人的年齡,我們想要這個人的年齡。該功能可以讀取:SQL UDF中'太多參數',但仍能正常運行
CREATE FUNCTION [*myprofile*].[udf_getAge]
(@DOB AS DATE, @AgeAt DATE)
RETURNS INTEGER
AS
BEGIN
RETURN (DATEDIFF(YYYY,@DOB,@AgeAt))
END
的功能似乎有一個當它被稱爲與顯示「過程或函數‘我的資料 .udf_getAge’指定的參數太多」的錯誤提示(紅色下劃線)。然而,當函數被調用時,它可以正確運行。我在查詢中使用該功能的示例如下:
SELECT
Forename + ' ' + Surname AS Name,
[*myprofile*].udf_getAge(DOB, GETDATE()) As Age
FROM
*myTable*
這種明顯的錯誤對任何人都有意義嗎?就像我說的那樣,它運行良好,但在我認爲它有太多爭論的情況下,它並不適合我。
我剛剛寫完這個問題後就試過了。有時候,這是我們忽視的最簡單的事情;有效。對於任何未來可能遇到相同問題的人,我會留下問題而不是刪除它,即使這對我來說也是一種尷尬! – cope 2014-08-28 13:39:09
重啓SSMS是一大挑戰。更小的一個是嘗試從「查詢」菜單(或從您正在工作的窗口中的上下文菜單)禁用和重新啓用智能感知。 – 2014-08-28 15:40:40