zoukankan      html  css  js  c++  java
  • sql 经典面试题

     如果数据库里两个日期型字段d1,d2,怎样用sql语句列出按月的所有区间,比如表结构如下
    localid    d1          d2
    1         2014-1-15    2014-3-6
    2         2014-7-15    2014-10-15

    转换成
    localid    d1          d2
    1         2014-1-15    2014-1-31
    1         2014-2-1     2014-2-28
    1         2014-3-1     2014-3-6
    2         2014-7-15    2014-7-31
    2         2014-8-1     2014-8-31
    2         2014-9-1     2014-9-30
    2         2014-10-1    2014-10-15,
    第一种方案:
     
    第二种方案:
     drop table #t
     declare @d as date
     set @d = @d1
     select convert(varchar(10),dateadd(mm,number ,convert(varchar(8),@d,120)+'01'),120) as dt into #t
     from master..spt_values
     where type='P' 
     and dateadd(mm,number,convert(varchar(8),@d,120)+'01')<=dateadd(dd,-1,convert(varchar(8),dateadd(mm,DATEDIFF (mm,@d1,@d2)+1,@d),120)+'01')
     
    如有兴趣,加qq群围观:337335820
  • 相关阅读:
    感悟.学习的方式
    IOS地理信息使用
    IOSTimer的例子留个备注
    IOSSelector的用法
    ios中addtarget的用法
    ios绘图时的坐标处理
    mac下装Ruby
    iOSbase64
    ios跳转
    Misha and Palindrome Degree CodeForces
  • 原文地址:https://www.cnblogs.com/xinanheishao/p/4196161.html
Copyright © 2011-2022 走看看