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
  • 相关阅读:
    xampp 80端口被占用后这么办??解决了
    XAMPP配置基于虚拟目录、多域名的环境
    mysql 主从同步
    jquery插件
    Css绘制箭头实现代码
    Ubuntu下mount命令的好用处
    linux下IPTABLES配置详解
    java程序员网站
    1.Hibernate介绍
    1. Mybatis介绍
  • 原文地址:https://www.cnblogs.com/xinanheishao/p/4196161.html
Copyright © 2011-2022 走看看