在sql中怎样截取时间?
6个回答
推荐于2017-08-22
展开全部
在sql中怎样截取时间?
把日期截取为月份有以下几种办法:
1、日期为日期格式,这种最简单,使用Month()函数即可获取月份,如:
1
select month(getdate()) from dual
2、日期为yyyy-mm-dd格式的文本,这种情况下需要转换成日期格式再截取,如:
1
select TO_CHAR(to_date('2013-01-01', 'yyyy-MM-dd'), 'yyyyMM') dateStr from dual
3、日期格式为其他格式,如yyyymmdd或yyyy/mm/dd的,此类格式类似第二种格式可以用类似的语句进行查询,只是转换成日期的时候的格式不一样。
注:以上SQL均基于ORACLE数据库
把日期截取为月份有以下几种办法:
1、日期为日期格式,这种最简单,使用Month()函数即可获取月份,如:
1
select month(getdate()) from dual
2、日期为yyyy-mm-dd格式的文本,这种情况下需要转换成日期格式再截取,如:
1
select TO_CHAR(to_date('2013-01-01', 'yyyy-MM-dd'), 'yyyyMM') dateStr from dual
3、日期格式为其他格式,如yyyymmdd或yyyy/mm/dd的,此类格式类似第二种格式可以用类似的语句进行查询,只是转换成日期的时候的格式不一样。
注:以上SQL均基于ORACLE数据库
展开全部
参考做法:
1.用Replace()函数把时间中的“年”,“月”用“-”进行替换,
2.再转换成Datetime类型数据,用Month(),Year()函数获取月和时间
select month(cast(replace(replace(@timeStr,'年','-'),'月','-') as datetime))
或者使用原始的方法 用“年”,“月”来定位获取“年”前的数据位年,“年”“月”之间的数据位月;
上边这种方法应该方便一点,同时注意转换的格式
1.用Replace()函数把时间中的“年”,“月”用“-”进行替换,
2.再转换成Datetime类型数据,用Month(),Year()函数获取月和时间
select month(cast(replace(replace(@timeStr,'年','-'),'月','-') as datetime))
或者使用原始的方法 用“年”,“月”来定位获取“年”前的数据位年,“年”“月”之间的数据位月;
上边这种方法应该方便一点,同时注意转换的格式
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
截取字符串,再转为日期格式
SELECT CONVERT(DATE,SUBSTRING('2013年10月',1,4)+SUBSTRING('2013年10月',6,2)+'01',108)
SELECT CONVERT(DATE,SUBSTRING('2013年10月',1,4)+SUBSTRING('2013年10月',6,2)+'01',108)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-01-15
展开全部
select trunc(sysdate,'yyyy') from dual;
yyyy 是截取年
yyyy-mm 是年和月
yyyy-mm-dd 是 年 月 天
mi 分
ss秒
yyyy 是截取年
yyyy-mm 是年和月
yyyy-mm-dd 是 年 月 天
mi 分
ss秒
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select left(col,4) as 年,substring(col,6,charindex('月',col)-charindex('年',col)-1) as 月
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询