--23表示2006-05-16这种时间格式,按月

--select max(test.fee)-min(test.fee),CONVERT(varchar(20),

test.t_stamp, 23) from table_test test

--where test.m_id=17 and  test.t_stamp

< '2013-02-25 00:00:00' and test.t_stamp

> '2013-01-01 00:00:00'

--group by CONVERT(varchar(20), test.t_stamp, 23)

--20表示2006-05-16 10:57:47这种时间格式,按天,每一个小时一个点

--varchar(13)截取日期中的2006-05-16 10到小时

--select max(test.fee)-min(test.fee),CONVERT(varchar(13),

test.t_stamp, 20) from table_test test

--where test.m_id=17 and  test.t_stamp

< '2013-02-10 00:00:00' and test.t_stamp

> '2013-02-03 00:00:00'

--group by CONVERT(varchar(13), test.t_stamp,

20)

--23表示2006-05-16这种时间格式,按年,每个月一个点

--varchar(7)截取日期中的2006-05到月

--select max(test.fee)-min(test.fee),CONVERT(varchar(7),

test.t_stamp, 23) from table_test test

--where test.m_id=17 and  test.t_stamp

< '2013-12-30 00:00:00' and test.t_stamp

> '2013-01-01 00:00:00'

--group by CONVERT(varchar(7), test.t_stamp, 23)

--23表示2006-05-16这种时间格式,按周

--select test.m_id,max(test.fee)-min(test.fee)

cmp,CONVERT(varchar(20), test.t_stamp, 23) stamp from table_test

test

--where test.m_id in(17,18) and  test.t_stamp

< '2013-02-10 00:00:00' and test.t_stamp

> '2013-02-03 00:00:00'

--group by test.m_id,CONVERT(varchar(20), test.t_stamp,

23)

--23表示2006-05-16这种时间格式,按周,总电表实例

--select sum(cmp),stamp from(

-- select test.m_id,max(test.fee)-min(test.fee) as

cmp,CONVERT(varchar(20), test.t_stamp, 23)as stamp from table_test

test

-- where test.m_id in(17,18) and

test.t_stamp < '2013-02-10

00:00:00' and test.t_stamp > '2013-02-03

00:00:00'

-- group by test.m_id,CONVERT(varchar(20), test.t_stamp,

23)

--) as b group by stamp --select from

[表名],后面要跟一个表名而不是表,嵌套之后必需要用指定一个别名,否则就会出错

--按周的12点分开两个点

--case when 时间分组用法

--select m_id,sum(val) cmp,stamp =

--case

-- when stamp >= CONVERT(varchar(10), stamp,

23) + ' 00' and stamp <= CONVERT(varchar(10), stamp,

23) + ' 11'

-- then CONVERT(varchar(10), stamp, 23)+' 11:59:59'

-- when stamp >= CONVERT(varchar(10), stamp,

23) + ' 12' and stamp <= CONVERT(varchar(10), stamp,

23) + ' 23'

-- then CONVERT(varchar(10), stamp, 23)+' 23:59:59'

--else CONVERT(varchar(20), getdate(),

20)

--end

--from(

-- select test.m_id,(max(test.fee)-min(test.fee))

val,CONVERT(varchar(13), test.t_stamp, 20) stamp

-- from table_test test

-- where test.m_id in(17,18) and

test.t_stamp < '2013-02-10

00:00:00' and test.t_stamp > '2013-02-03

00:00:00'

-- group by test.m_id,CONVERT(varchar(13), test.t_stamp,

20)

--

--) as sumTable

--group by m_id,

--case

-- when stamp >= CONVERT(varchar(10), stamp,

23) + ' 00' and stamp <= CONVERT(varchar(10), stamp,

23) + ' 11'

-- then CONVERT(varchar(10), stamp, 23)+' 11:59:59'

-- when stamp >= CONVERT(varchar(10), stamp,

23) + ' 12' and stamp <= CONVERT(varchar(10), stamp,

23) + ' 23'

-- then CONVERT(varchar(10), stamp, 23)+' 23:59:59'

--else CONVERT(varchar(20), getdate(),

20)

--end

--order by stamp asc

--一年的每15天一个点

select m_id,sum(val) cmp,stamp =

case

when stamp >= CONVERT(varchar(7), stamp, 23) +

'-01' and stamp <= CONVERT(varchar(7), stamp, 23) +

'-15'

then CONVERT(varchar(7), stamp, 23) + '-15'

when stamp >= CONVERT(varchar(7), stamp, 23) +

'-15' and stamp <= CONVERT(varchar(7), stamp, 23) +

'-31'

then CONVERT(varchar(7), stamp, 23) + '-' +

convert(varchar(2),day(dateadd(day,-1,

dateadd(month,1,convert(varchar(7),stamp,23)+'-01'))))

else CONVERT(varchar(20), getdate(),

20)

end

from (

select test.m_id,(max(test.fee)-min(test.fee))

val,CONVERT(varchar(10), test.t_stamp, 23)

stamp

from table_test test

where test.m_id in(17,18) and  test.t_stamp

< '2013-12-30 00:00:00' and test.t_stamp

> '2013-01-01 00:00:00'

group by CONVERT(varchar(10), test.t_stamp, 23),m_id

) as b group by m_id,

case

when stamp >= CONVERT(varchar(7), stamp, 23) +

'-01' and stamp <= CONVERT(varchar(7), stamp, 23) +

'-15'

then CONVERT(varchar(7), stamp, 23) + '-15'

when stamp >= CONVERT(varchar(7), stamp, 23) +

'-15' and stamp <= CONVERT(varchar(7), stamp, 23) +

'-31'

then CONVERT(varchar(7), stamp, 23) + '-' +

convert(varchar(2),day(dateadd(day,-1,

dateadd(month,1,convert(varchar(7),stamp,23)+'-01'))))

else CONVERT(varchar(20), getdate(),

20)

end

order by stamp desc

--int 转 varchar

--select 'aa' + convert(varchar(2),day(dateadd(day,-1,

dateadd(month,1,convert(varchar(7),'2013-04-02',23)+'-01'))))

--varchar 转int

--select convert(int,'02323')

case 日期when 范围_多个日期段如何分组 case when convert等用法相关推荐

  1. java根据日期判断星座_给定公历日期计算12星座(Java代码实现)

    给定公历日期,计算返回该日期对应的十二星座. public static String getXingZuoName(int month, int day); 注意:参数month和day均为公历月. ...

  2. 将mysql日期格式转换_如何将日期时间格式转换为mysql日期格式?

    I have a textbox in which i take date input from user. But I can't save that date to my db as it sho ...

  3. case when 子查询_标准SQL——子查询、分组查询、多表联查

    点击上方蓝色字关注我们!❈ 一.查询子句: 1.排序子句:order by 列,列.. [asc|desc]  排序, select * from user order by account desc ...

  4. java里面case是什么意思_什么是Java中的switch case语句以及如何使用它?

    switch 语句允许根据值列表测试变量是否相等.每个值被称为一个case,并针对每个case检查正在打开的变量. 语法switch(expression) { case value : //声明 b ...

  5. 在excel日期比对大小_如何在Excel中防止分组日期

    在excel日期比对大小 As a teenager, group dates can be fun. If you have strict parents, that might be the on ...

  6. trunc怎么进行日期相减_【PL/SQL】 关于日期操作的常见需求

    需求1: 统计一年内所有是星期三的日期.思路: 枚举法,将整年所有日期都罗列出来,然后再用Where条件筛选.Step1: 求出当年的起初日期1/1和最后一天12/31(可省略) SELECT ADD ...

  7. php 日期转毫秒_【小技巧】 各种日期操作方法汇总

    虽然现在处理日期方面已经有了很成熟的也很好用的库,例如(momentjs和date-fns),但是在实际开发中,我们有时候可能并不需要整个库. 所以我就在下面整理了在前端开发时对日期时间的各种操作,也 ...

  8. python选择日期控件_【Python】python 日期操作

    datetime模块定义了下面这几个类: datetime.date:表示日期的类.常用的属性有year, month, day.datetime.time:表示时间的类.常用的属性有hour, mi ...

  9. python设计一个date类数据成员有年月日_设计一个日期类Date,包括年、月、日等私有成员。要求实现日期的基本运算,例如某日期加上天数或减去天数...

    /*设计一个日期类Date,包括年.月.日等私有成员.要求实现日期的基本运算,例如某日期加上天数或减去天数 ,两日期相减的天数等. 实现要求: 实现运算符加与减的重载 设计一个日期类Date,包括年. ...

最新文章

  1. iOS--SDAutolayout宽度自适应
  2. DFS和BFS总结和代码演示(详解)
  3. python中英文字符和中文字符存储长度不同_Django如何正确截取中英混合字符串及表单中限制中文字符中长度...
  4. Netty工作笔记0041---Netty入门--服务端2
  5. mybatis实战教程(mybatis in action)之三:实现数据的增删改查
  6. 描述C,C++编译和链接过程
  7. java类注释_Java注释,java类注释详解
  8. html 简单表格代码
  9. 嵌入式开发中常用的软件设计模式
  10. 简介计算机桌面功能,desktopcal电脑桌面日历功能介绍
  11. 2018麦考林杂志计算机科学,加拿大大学2020年最新的麦考林杂志排名
  12. cancase lin管脚_汽车的K线,can线,lin线
  13. 计算机游戏玩法,123木头人游戏规则与玩法
  14. oracle comment语法,oracle 之 COMMENT
  15. Unix/Linux编程:Xinu中的进程
  16. iOS版本兼容以及部分iOS 11适配
  17. 计算机电脑成像,计算机能重现你所看到的吗?
  18. Google Earth上划定矢量范围并导出为KMZ文件
  19. 华清远见Qt作业网络聊天室1014
  20. 区块链网发布区块链百科的步骤

热门文章

  1. 类变量与实例变量辨析
  2. 抑郁症自测量表测试软件,快来测测抑郁--抑郁自评量表 (此表是是收费工具,我献给大家)...
  3. linux 英伟达 分辨率,配置nVidia显卡修改Ubuntu分辨率
  4. android 拦截点击事件,Android事件拦截机制
  5. python 异常函数调用栈_Python捕获异常堆栈信息的几种方法
  6. 微信人人商城云服务器,微信支付配置
  7. stm32之电源管理(实现低功耗)
  8. 很多工程师问ESP32彩屏能不能在arduino上面来玩,这个是没有问题的
  9. Zynq调试和测试子系统
  10. Altium designer中高亮元器件或网络时对比度调节