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

sql如何获取一列日期的年份和月份,第1张

mysql> select DATE_FORMAT('1997-10-04 22:23:00', '%Y/%m ');

+----------------------------------------------+

| DATE_FORMAT('1997-10-04 22:23:00', '%Y/%m ') |

+----------------------------------------------+

| 1997/10 |

+----------------------------------------------+

可用month函数获取月份。

测试方法:

1、创建一个含有date类型的表,并在表中插入数据(数据日期为当前时间):

create table test

(id int,

begin_date date)

insert into test values (1,getdate())

2、执行语句,获取月份:

select MONTH(begin_date) from test

3、执行结果:

getdate

//获得系统当前日期

datepart

//获取日期指定部分(年月日时分表)

getdate()函数:取得系统当前的日期和时间,返回值为datetime类型的。

用法:getdate()

例子:

select

getdate()

as

dte,dateadd(day,-1,getdate())

as

nowdat

select from 表 where 日期字段>='开始日期' and 日期字段<='截止日期'  and convert(char(8),日期字段,108)>='开始时间' and convert(char(8),日期字段,108)<='截止时间'。

SELECT FROM 表明 WHERE 日期字段名 BETWEEN '20130101' AND '20130130'。

例如:

select from tb1 where dDate>='2010-11-05' and dDate<='2010-11-15' 

and convert(char(8),dDate,108)>='8:00:00' and convert(char(8),dDate,108)<='9:00:00'

select from table1 where year(d)=2010 and month(d)=7 and day(d) between 1 and 31

and (Datepart(hour,d)>=22 or Datepart(hour,d)<6)

扩展资料:

SQL查询日期:

今天的所有数据:select from 表名 where DateDiff(dd,datetime类型字段,getdate())=0

昨天的所有数据:select from 表名 where DateDiff(dd,datetime类型字段,getdate())=1

7天内的所有数据:select from 表名 where DateDiff(dd,datetime类型字段,getdate())<=7

30天内的所有数据:select from 表名 where DateDiff(dd,datetime类型字段,getdate())<=30

本月的所有数据:select from 表名 where DateDiff(mm,datetime类型字段,getdate())=0

本年的所有数据:select from 表名 where DateDiff(yy,datetime类型字段,getdate())=0

参考资料:

SQL_百度百科

查出两个日期之间的数据的sql示例:

select from table_name where date>'2010-1-1' and data<'2010-5-1';

其中table_name是表名,date是日期字段,and符号表示且,连接两个日期表示既满足大于2010-1-1又满足小于2010-5-1,在两个之间的数据。

扩展资料

常用查询sql语句介绍:

1、查看表结构

SQL>DESC emp;

2、 查询所有列

SQL>SELECT FROM emp;

3、查询指定列

SQL>SELECT empmo, ename, mgr FROM emp;

SQL>SELECT DISTINCT mgr FROM emp; 只显示结果不同的项

4、 查询指定行

SQL>SELECT FROM emp WHERE job='CLERK';

5、使用算术表达式

SQL>SELECT ename, sal13+nvl(comm,0)  FROM emp;

sql server 中,

可以用cast()函数将日期时间转换为日期,

比如:cast('2014-01-22 13:22:35000' as date) 的结果为2014-01-22

以下语句是查询2012年的数据,日期范围可以修改

select 表名

where CAST(时间字段 as date) between '2012-01-01' and '2012-12-31'

如果要查全年数据,也可以这样,

select 表名 where year(时间字段)=2012

另外,用convert()函数也可以将日期时间字段转换为日期字段来代替cast,具体用法baidu一下

如果是oracle数据库请用to_date()代替cast将日期时间字段转换为日期来查询

祝你成功!

以上就是关于sql如何获取一列日期的年份和月份全部的内容,包括:sql如何获取一列日期的年份和月份、sql server中获取date类的年月日(如何取中间的月分)、sql server 中怎么取当前日期等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9733955.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存