• 爱情文章
  • 亲情文章
  • 友情文章
  • 生活随笔
  • 校园文章
  • 经典文章
  • 人生哲理
  • 励志文章
  • 搞笑文章
  • 心情日记
  • 英语文章
  • 范文大全
  • 作文大全
  • 新闻阅读
  • 当前位置: 山茶花美文网 > 经典文章 > 正文

    【经典SQL自定义函数】SQL自定义函数function

    时间:2020-05-25来源:山茶花美文网 本文已影响 山茶花美文网手机站

    1、确定某年某月有多少天

    实现原理:先利用DATEDIFF取得当前月的第一天,再将月份加一取得下月第一天,然后减去1分钟,再取日期的

    天数部分,即为当月最大日期,也即当月天数

    CREATE FUNCTION DaysInMonth ( @date datetime ) Returns int

    AS

    BEGIN

    RETURN Day(dateadd(mi,-3,DATEADD(m, DATEDIFF(m,0,@date)+1,0)))

    END

    调用示例:

    select dbo.DaysInMonth ("2006-02-03")

    (2)计算哪一天是本周的星期一

    SELECT DATEADD(week, DATEDIFF(week,"1900-01-01",getdate()), "1900-01-01") --返回2006-11-06 00:00:00.000

    SELECT DATEADD(week, DATEDIFF(week,0,getdate()),0)

    (3)当前季度的第一天

    SELECT DATEADD(quarter, DATEDIFF(quarter,0,getdate()), 0)—返回2006-10-01 00:00:00.000

    (4)一个季度多少天

    declare @m tinyint,@time smalldatetime

    select @m=month(getdate())

    select @m=case when @m between 1 and 3 then 1

    when @m between 4 and 6 then 4

    when @m between 7 and 9 then 7

    else 10 end

    select @time=datename(year,getdate())+"-"+convert(varchar(10),@m)+"-01"

    select datediff(day,@time,dateadd(mm,3,@time)) —返回92

    • 【经典SQL自定义函数】SQL自定义函数function 相关文章:
    • 爱情文章
    • 亲情文章
    • 友情文章
    • 随笔
    • 哲理
    • 励志
    • 范文大全