zoukankan      html  css  js  c++  java
  • Questions[SQL]:Calculate the Number of Days in a Month

    Q:Can you use a batch SQL or store procedure to calculating the Number of Days in a Month?

    A:

    解法一:使用CTE,结构清晰

        with arg0 as
        (
            
    --计算当月第一天
            select cast(
                
    cast(year(getdate()) as varchar)+'-'+cast(month(getdate()) as varchar)+'-01' 
                
    as datetimeas nowdt
        ),
        arg1 
    as
        (
            
    --计算下月第一天
            select dateadd(mm,1,nowdt) as dt from arg0
        ),
        arg2 
    as
        (
            
    --计算下月减1,即本月最后一天
            select dateadd(dd,-1, dt) as dt from arg1
        ),
        arg3 
    as
        (
            
    --取天数部分
            select datepart(dd, dt) as daies from arg2
        )
        
    select * from arg3

    解法二:使用变量

    declare @now  datetime
    set @now= cast(
                
    cast(year(getdate()) as varchar)+'-'+cast(month(getdate()) as varchar)+'-01' 
                
    as datetime
    declare @day int
    set @day = datepart(dd, dateadd(dd,-1dateadd(mm,1,@now)))
    select @day


    解法三:单一语句

    select datepart(dd,dateadd(dd,-1,dateadd(mm,1,cast(cast(year(getdate()) as varchar)+'-'+cast(month(getdate()) as varchar)+'-01' as datetime))));

  • 相关阅读:
    Android中的IMEI
    《JAVA与模式》之适配器模式(转)
    海量日志数据__怎么在海量数据中找出重复次数最多的一个
    Java中的IO流系统详解(转载)
    获取网络文件长度问题
    内存泄漏
    Ubuntu12.04不能连接小米开发(转)
    Java/C++中数组的区别
    Android批量插入数据到SQLite数据库
    泛型编程 基础
  • 原文地址:https://www.cnblogs.com/chenjunbiao/p/1760191.html
Copyright © 2011-2022 走看看