【发布时间】:2012-09-18 03:55:57
【问题描述】:
在 oracle 中,当我使用以下查询进行搜索时,它获取了错误的记录(请查看随附的屏幕截图),有人可以建议 12 小时的正确格式吗?
to_char(a.created, 'MM/DD/YYYY HH12:MI:SS') >='05/23/2012 12:00:00'
谢谢, 基兰.
【问题讨论】:
标签: sql oracle timestamp to-char
在 oracle 中,当我使用以下查询进行搜索时,它获取了错误的记录(请查看随附的屏幕截图),有人可以建议 12 小时的正确格式吗?
to_char(a.created, 'MM/DD/YYYY HH12:MI:SS') >='05/23/2012 12:00:00'
谢谢, 基兰.
【问题讨论】:
标签: sql oracle timestamp to-char
不要基于字符串进行搜索。根据日期搜索。如果你搜索一个字符串,你会得到不是你想要的字符串比较语义。字符串“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' )
【讨论】:
'05/23/2012 15:15:00'。
HH12) 时输入 15,它将不起作用。我提到的贾斯汀的原始示例使用 24 小时制 (HH24)。