Ví dụ 1: Tạo 1 hàm SELECT lấy các mẫu tin dữ liệu từ bảng danh sách khách hàng (table Customers)
CREATE FUNCTION SelectCustomers()RETURNS TABLEASRETURN (SELECT * FROM Customers)
Câu lệnh thực thi hàm
SELECT * FROM dbo.SelectCustomers()
Ví dụ 2: Tạo 1 hàm lấy danh sách số ngày từ 1 ngày bất kỳ đến trước ngày hiện tại
Ví dụ ngày hiện tại là "Ngày 21 tháng 2 năm 2012", ngày trước đó sẽ là ngày 20/2/2012. Giờ ta lấy 1 ngày bất kỳ, giả sử là ngày 8/2/2012. Bây giờ ta viết 1 hàm trong SQL để lấy ra danh sách số ngày từ mùng 8/2/2012 tới ngày 20/2/2012 là có bao nhiêu ngày. Câu lệnh sẽ là:
CREATE FUNCTION [dbo].[getDayListToYesterday](@dateInput VARCHAR(20))RETURNS @tblDays TABLE(TheDay datetime)asbeginDECLARE @firstDay datetimeSET @firstDay = @dateInputWHILE (@firstDay < dateadd(dd,-1,getdate() ))BEGININSERT INTO @tblDays (TheDay) VALUES(@firstDay)SET @firstDay = dateadd(dd, 1,@firstDay)ENDRETURNEND
Câu lệnh truy vấn:
---------date format: mm/dd/yyyy --------------------------SELECT COUNT(*) FROM dbo.getDayListToYesterday('2/8/2012')-----------------------------------------------------------SELECT * FROM dbo.getDayListToYesterday('2/8/2012')
--> Kết quả cuối cùng sẽ trả về danh sách 13 ngày
0 nhận xét:
Speak up your mind
Tell us what you're thinking... !