在SQL语句中,如何实现查询当月数据和当年数据?

如题。假如我查询语句是select * from yh.zsxx where rkrq>=to_date('2014/01/01','YYYY-MM-DD') and rkrq<=to_date('2014/01/31','YYYY-MM-DD')。日期的字段名是rkrq。如何加上一个条件使之变成查询当月数据,不能指定具体的日期,我需要的是随着日期的变动自动识别当时的日期。
年份的问题同理。

select * from yh.zsxx where to_char(rkrq,'yyyy-mm') = to_char(sysdate,'yyyy-mm') ——当月数据

select * from yh.zsxx where to_char(rkrq,'yyyy') = to_char(sysdate,'yyyy')——当年珊瑚橘

1、SQL语句的解释:SQL语句是对数据库进行操作的一种语言。结构化查询语言(Structured Query Language)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

2、SQL语句介绍:

    创建数据库:CREATE DATABASE database-name

    删除数据库:drop database dbname

    创建新表:create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)

    删除新表:drop table tabname

    增加一个列Alter table tabname add column col type

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-01-16
select * from yh.zsxx where to_char(rkrq,'yyyy-mm') = to_char(sysdate,'yyyy-mm') --当月
select * from yh.zsxx where to_char(rkrq,'yyyy') = to_char(sysdate,'yyyy') --当年本回答被提问者采纳
第2个回答  2014-01-16
select * from yh.zsxx where rkrq>=Convert(varchar(7),getDate(),120)+‘-01’ and
rkrq>=Convert(varchar(7),getDate(),120)+‘-’+select day(dateadd(mm,1,getdate())-day(getdate()))
第3个回答  2014-01-16
在前台获取一下当前时间,然后做下处理 将变量传入你的sql语句就可以了
相似回答