SQL里怎么把日期截取为月份

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL里怎么把日期截取为月份相关的知识,希望对你有一定的参考价值。

比如 日期格式 为 2013-01-01 我想要截取成月份 201301 保留年月忽略日 去掉横杠 要用什么方法 谢谢

1、首先我们需要找到一个带日期字段的数据表。

2、接下来向表中插入日期值。

3、然后我们通过month函数获取月份即可,注意month里添加的是列名。

4、运行SQL语句以后我们发现日期中的月份已经被提取出来了。

5、另外我们还可以在Month中直接加GETDATE函数获取当前时间的月份。

6、最后还可以运用MONTH和DATEADD搭配使用来获取日期的前一个月或者后一个月。

参考技术A

当我们处理日期时,最难的任务恐怕是确保所插入的日期的格式,与数据库中日期列的格式相匹配。

只要您的数据包含的只是日期部分,运行查询就不会出问题。但是,如果涉及时间部分,情况就有点复杂了。

在讨论日期查询的复杂性之前,我们先来看看最重要的内建日期处理函数。

mysql Date 函数:

参考资料:shulanxt,按照楼主的要求,如果是在日期格式的数据里面直接取出月份的话,利用 month() 函数就能实现。希望我的回答对您有所帮助~

望采纳~

参考技术B

把日期截取为月份有以下几种办法:

1、日期为日期格式,这种最简单,使用Month()函数即可获取月份,如:

select month(getdate()) from dual

2、日期为yyyy-mm-dd格式的文本,这种情况下需要转换成日期格式再截取,如:

select TO_CHAR(to_date('2013-01-01', 'yyyy-MM-dd'), 'yyyyMM') dateStr from dual

3、日期格式为其他格式,如yyyymmdd或yyyy/mm/dd的,此类格式类似第二种格式可以用类似的语句进行查询,只是转换成日期的时候的格式不一样。

注:以上SQL均基于ORACLE数据库

参考技术C select TO_CHAR(to_date('2013-01-01', 'yyyy-MM-dd'), 'yyyyMM') dateStr from dual;

 通过数据库转换函数可以实现。请采纳~~

本回答被提问者采纳

sql 在日期中挑选出特定月份的所有日期

我要的是一个where 的语句。 有一列是 2014年比赛日期 要挑选出 是在三月份的所有日期

select * from 表 where 比赛时间 between \'2014-03-01\' and \'2014-03-31 23:59:59\'

这个方法要比第一个回答的快。你可以测试一下,当数据量在2000行以上的时候很明显
参考技术A

...什么数据库

sqlserver的话

可以

select * 
from 表 
where convert(varchar(7),比赛日期,120)='2014-03'

不知道你是要这样的数据吗

以上是关于SQL里怎么把日期截取为月份的主要内容,如果未能解决你的问题,请参考以下文章

SQL里怎么把日期截取为月份

SQL中如何截取日期

sqlserver截取日期的年份和月份

sql如何获取一列日期的年份和月份

在sql中怎样截取时间?

JAVA语句怎么把日期(类型为DATA)中的月份提取出来