case 日期when 范围_多个日期段如何分组 case when convert等用法
--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等用法相关推荐
- java根据日期判断星座_给定公历日期计算12星座(Java代码实现)
给定公历日期,计算返回该日期对应的十二星座. public static String getXingZuoName(int month, int day); 注意:参数month和day均为公历月. ...
- 将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 ...
- case when 子查询_标准SQL——子查询、分组查询、多表联查
点击上方蓝色字关注我们!❈ 一.查询子句: 1.排序子句:order by 列,列.. [asc|desc] 排序, select * from user order by account desc ...
- java里面case是什么意思_什么是Java中的switch case语句以及如何使用它?
switch 语句允许根据值列表测试变量是否相等.每个值被称为一个case,并针对每个case检查正在打开的变量. 语法switch(expression) { case value : //声明 b ...
- 在excel日期比对大小_如何在Excel中防止分组日期
在excel日期比对大小 As a teenager, group dates can be fun. If you have strict parents, that might be the on ...
- trunc怎么进行日期相减_【PL/SQL】 关于日期操作的常见需求
需求1: 统计一年内所有是星期三的日期.思路: 枚举法,将整年所有日期都罗列出来,然后再用Where条件筛选.Step1: 求出当年的起初日期1/1和最后一天12/31(可省略) SELECT ADD ...
- php 日期转毫秒_【小技巧】 各种日期操作方法汇总
虽然现在处理日期方面已经有了很成熟的也很好用的库,例如(momentjs和date-fns),但是在实际开发中,我们有时候可能并不需要整个库. 所以我就在下面整理了在前端开发时对日期时间的各种操作,也 ...
- python选择日期控件_【Python】python 日期操作
datetime模块定义了下面这几个类: datetime.date:表示日期的类.常用的属性有year, month, day.datetime.time:表示时间的类.常用的属性有hour, mi ...
- python设计一个date类数据成员有年月日_设计一个日期类Date,包括年、月、日等私有成员。要求实现日期的基本运算,例如某日期加上天数或减去天数...
/*设计一个日期类Date,包括年.月.日等私有成员.要求实现日期的基本运算,例如某日期加上天数或减去天数 ,两日期相减的天数等. 实现要求: 实现运算符加与减的重载 设计一个日期类Date,包括年. ...
最新文章
- iOS--SDAutolayout宽度自适应
- DFS和BFS总结和代码演示(详解)
- python中英文字符和中文字符存储长度不同_Django如何正确截取中英混合字符串及表单中限制中文字符中长度...
- Netty工作笔记0041---Netty入门--服务端2
- mybatis实战教程(mybatis in action)之三:实现数据的增删改查
- 描述C,C++编译和链接过程
- java类注释_Java注释,java类注释详解
- html 简单表格代码
- 嵌入式开发中常用的软件设计模式
- 简介计算机桌面功能,desktopcal电脑桌面日历功能介绍
- 2018麦考林杂志计算机科学,加拿大大学2020年最新的麦考林杂志排名
- cancase lin管脚_汽车的K线,can线,lin线
- 计算机游戏玩法,123木头人游戏规则与玩法
- oracle comment语法,oracle 之 COMMENT
- Unix/Linux编程:Xinu中的进程
- iOS版本兼容以及部分iOS 11适配
- 计算机电脑成像,计算机能重现你所看到的吗?
- Google Earth上划定矢量范围并导出为KMZ文件
- 华清远见Qt作业网络聊天室1014
- 区块链网发布区块链百科的步骤
热门文章
- 类变量与实例变量辨析
- 抑郁症自测量表测试软件,快来测测抑郁--抑郁自评量表 (此表是是收费工具,我献给大家)...
- linux 英伟达 分辨率,配置nVidia显卡修改Ubuntu分辨率
- android 拦截点击事件,Android事件拦截机制
- python 异常函数调用栈_Python捕获异常堆栈信息的几种方法
- 微信人人商城云服务器,微信支付配置
- stm32之电源管理(实现低功耗)
- 很多工程师问ESP32彩屏能不能在arduino上面来玩,这个是没有问题的
- Zynq调试和测试子系统
- Altium designer中高亮元器件或网络时对比度调节