表格包含Created_time
列,其值为25-MAY-2012.10.12.320000 PM
。
我需要编写一个查询来显示table
XYZ的所有字段,这些字段是在March
和April
之间创建的,与它们所在的年份无关。< / p>
我想根据他们的ID以升序显示记录。
有人能帮助我吗?
答案 0 :(得分:0)
查看月份和年份功能。 如果created_time的类型为datetime:
select *
from TABLE
where month(Created_time) in (3, 4)
答案 1 :(得分:0)
如果您需要检查Created_time
是否在任何一年的三月份,那么我们的想法是做这样的事情:
select *
from XYZ
where Created_time like '%-MARCH-%'
order by id;
或者,如果您的column
类型不支持此类型,请将其转换为varchar
。此外,还有一些RDBMS特定的function
可以帮助您,但是为了更全面的回答,我需要知道您正在使用的RDBMS和type
的{{1}}。< / p>
修改
正如Jarhl所指出的,在这种情况下,EXTRACT应该可以用来检查月份。 Source,证明他是对的说:
名称
EXTRACT
用于从日期中提取部件的ANSI SQL标量函数是 提取。 ANSI SQL标准语法
ANSI SQL EXTRACT函数采用date_part和表达式 计算日期时间值。 MySQL,Oracle和PostgreSQL支持 ANSI SQL标准语法:
Created_time