首页 > 数据库技术 > 详细

SQL basic

时间:2015-11-13 22:00:21      阅读:303      评论:0      收藏:0      [点我收藏+]

Function 

从例子学习

drop function dbo.getWorkingDateCount;  --getWorkingDateCount = functionName

CREATE FUNCTION [dbo].[getWorkingDateCount] 
(    
  --这3个是parameter, 名字和类型
  @fromDate  date,  
  @toDate date,
  @publicHolidayStrList nvarchar(500)   
)
RETURNS int  --表明返回类型
AS 
BEGIN
    DECLARE @count INT = 0; --DECLARE 就是var
    WHILE @fromDate <= @toDate --while 就是for loop
    BEGIN
        DECLARE @ipos INT = 0;
        DECLARE @dateName nvarchar(50);
         --赋值一定要写set在前面,
         --CHARINDEX 是 indexOf
         --CONVERT 是 datetime to string , 126 是一个sql对日期格式的代号 refer : 
        SET @ipos = CHARINDEX(CONVERT(VARCHAR(10),@fromDate,126), @publicHolidayStrList);
        SET @dateName = DATENAME(weekday, @fromDate);
        IF @ipos = 0 and @dateName != Saturday and @dateName !=Sunday
        BEGIN
            SET @count = @count + 1;
        END    
        SET @fromDate = DATEADD(day,1,@fromDate)
    END;
    RETURN @count;
END

select dbo.getWorkingDateCount(2015-11-01,2015-11-30,2015-11-07,2015-11-13) as date; 

 

上面是一个调用来获取工作天数的函数

 

SQL basic

原文:http://www.cnblogs.com/keatkeat/p/4963194.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!