หลาย input หนึ่ง output
บ่อยครั้งที่ต้องส่งพารามิเตอร์มากกว่าหนึ่งตัวให้กับฟังก์ชัน ให้สร้างฟังก์ชันที่รับ @StartDateParm และ @EndDateParm แล้วคืนค่าจำนวนชั่วโมงการเดินทางรวมสำหรับทุกธุรกรรมที่มี StartDate อยู่ในช่วงของค่าพารามิเตอร์ที่กำหนด
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การเขียนฟังก์ชันและ Stored Procedures ใน SQL Server
คำแนะนำการฝึกหัด
- สร้างฟังก์ชันชื่อ
SumRideHrsDateRangeโดยกำหนด@StartDateParmและ@EndDateParmเป็นพารามิเตอร์อินพุตชนิดข้อมูลdatetime - ระบุชนิดข้อมูลที่จะคืนค่าเป็น
numeric - ใช้คำสั่ง select เพื่อหาผลรวมของความแตกต่างระหว่าง
StartDateและEndDateของแต่ละธุรกรรม - ให้รวมเฉพาะธุรกรรมที่มี
StartDateมากกว่า@StartDateParmและน้อยกว่า@EndDateParmเท่านั้น
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
-- Create the function
___ ___ SumRideHrsDateRange (___ ___, ___ ___)
-- Specify return data type
RETURNS ___
AS
BEGIN
RETURN
-- Sum the difference between StartDate and EndDate
(___ ___(___(second, StartDate, EndDate))/3600
FROM CapitalBikeShare
-- Include only the relevant transactions
WHERE StartDate > ___ and StartDate < ___)
END