我有一个日期/时间戳字段,我需要按日期提取记录

时间:2017-02-27 16:16:53

标签: sql oracle datetime

我有一个日期/时间戳字段,我需要按日期提取记录。

示例:所有数据均为> = '01 / 01/2016'。

该字段中的数据按以下格式存储'9/5/2012 7:34:59 AM'

我尝试过以下操作但是我得到错误或结果不好:

  • it("at least returns something", (done) => { request(app) .get("/test") .expect(200) .end(err => err ? done.fail(err) : done() ); }); (仍然提供2012年记录)
  • cordova plugin add cordova-plugin-fcm(错误:无效月份)

3 个答案:

答案 0 :(得分:1)

在mysql中你应该使用

这是字符串规范格式

select * from my_table 
where start_time > '2016/01/01'  

或使用正确的格式转换为str_to_date

select * from my_table 
where start_time > str_to_date('01/01/2016', '%d/%m/%Y')

答案 1 :(得分:0)

使用to_date将字符串转换为日期,然后进行比较。

试试这个:

where start_time >= to_date('01/01/2016', 'dd/mm/yyyy');

答案 2 :(得分:0)

在Oracle(可能还有其他数据库产品)中,您可以使用ANSI日期文字,如下所示。您也可以使用to_date(),但ANSI日期文字的好处是它不需要函数调用。 (函数调用是开销,消耗时间和资源,尽管只调用一次to_date()不是一个问题。)

... where start_time >= date '2016-01-01'

请注意,在ANSI标准日期文字中,日期必须的格式为YYYY-MM-DD(带有破折号而不是斜杠或任何其他分隔符),因为ANSI日期字面值采用格式模型。