SQL时间戳查询

时间:2017-08-17 06:42:43

标签: sql

表格包含Created_time列,其值为25-MAY-2012.10.12.320000 PM

我需要编写一个查询来显示table XYZ的所有字段,这些字段是在MarchApril之间创建的,与它们所在的年份无关。< / p>

我想根据他们的ID以升序显示记录。

有人能帮助我吗?

2 个答案:

答案 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