制作一个接受开始日期和结束日期的 UDF。并返回
Posted
技术标签:
【中文标题】制作一个接受开始日期和结束日期的 UDF。并返回【英文标题】:Make a UDF accepting start date and end date. And returning 【发布时间】:2014-10-12 17:57:43 【问题描述】:写一个UDF接受订单日期和发货日期。使 UDF 返回发生在用户输入的订单日期和发货日期之间的销售订单数量(使用 Vista 信用卡)。
(SQL Server 2012 中 AdventureWorks2012 中的表为 Sales-SalesOrderHeader
)。
看来我必须参考Sales-CreditCard
表才能获得确切的卡名,因为Sales.SalesOrderHeader
表中没有提供该名称:
CREATE FUNCTION fx_SalesNmbr INT
(SELECT OrderDate, ShipDate
FROM Sales.SalesOrder
WHERE CreditCardID = Vista (Maybe is should be a function @ Creditcardname)
有人可以告诉我它是怎么做的吗?
【问题讨论】:
【参考方案1】:CREATE FUNCTION dbo.fx_SalesNmbr
(
@pOrderDate DATETIME,
@pShipDate DATETIME,
@pCardType NVARCHAR(50)
)
RETURNS INT
AS
BEGIN
DECLARE @result INT
SELECT
@result = COUNT(*)
FROM
Sales.SalesOrderHeader AS soh
JOIN Sales.CreditCard AS cc
ON soh.CreditCardID = cc.CreditCardID
WHERE
cc.CardType = @pCardType
AND soh.OrderDate = @pOrderDate
AND soh.ShipDate = @pShipDate
RETURN @result
END
GO
SELECT dbo.fx_SalesNmbr ('2001-07-01', '2001-07-08', 'Vista')
【讨论】:
_____ _ _ __ |_ | | ___ | | | | |_ _ _ | | | | '| | '| | | . | | | |_| |_|_|_,|_|_|_,_| |_| |___|___|谢谢你,约翰斯。我已经运行了脚本,它可以工作。 'JOIN'部分是我需要进入和学习的地方。我很欣赏这种洞察力。 没问题@Eda。如果您对此感到满意,您可能会接受它作为答案。以上是关于制作一个接受开始日期和结束日期的 UDF。并返回的主要内容,如果未能解决你的问题,请参考以下文章
如何使用Dojo的DatePicker控件制作联动日期选择器
Office 365 API为整天事件返回错误的开始和结束日期时间