使用to_char在oracle中搜索日期和时间

时间:2012-09-18 03:55:57

标签: sql oracle timestamp to-char

在oracle中,当我使用下面的查询进行搜索时,它会获取错误的记录(查看附带的屏幕截图),有人可以建议12小时的正确格式。

to_char(a.created, 'MM/DD/YYYY HH12:MI:SS') >='05/23/2012 12:00:00'

谢谢, 基兰。enter image description here

1 个答案:

答案 0 :(得分:2)

不要根据字符串进行搜索。根据日期搜索。如果你搜索一个字符串,你将得到字符串比较语义,这不是你想要的。字符串'06 / 01/1900'按字母顺序排在字符串'05 / 23/2012'之后,尽管它代表的日期要早得多。

a.created >= to_date('05/23/2012 12:00:00', 'mm/dd/yyyy hh24:mi:ss' )

或使用12小时制

a.created >= to_date('05/23/2012 03:15:00 pm', 'mm/dd/yyyy hh:mi:ss am' )