Oracle SQL:timestamp in where子句

我需要查找落在特定时间范围内的行。
select * 
from TableA 
where startdate >= '12-01-2012 21:24:00' 
  and startdate <= '12-01-2012 21:25:33'

即查找时间戳精度为秒的行,我该如何实现?

您需要使用to_timestamp()将您的字符串转换为适当的时间戳值:
to_timestamp('12-01-2012 21:24:00','dd-mm-yyyy hh24:mi:ss')

如果您的列类型为DATE(也支持秒),则需要使用to_date()

to_date('12-01-2012 21:24:00','dd-mm-yyyy hh24:mi:ss')

要将其转化为某个条件,请使用以下内容:

select * 
from TableA 
where startdate >= to_timestamp('12-01-2012 21:24:00','dd-mm-yyyy hh24:mi:ss')
  and startdate <= to_timestamp('12-01-2012 21:25:33','dd-mm-yyyy hh24:mi:ss')

您不需要在“timestamp”类型的列上使用to_timestamp()

编辑纠正错字

相关文章

随着时间的累积,在没有很好的规划的情况下,数据库中也许会...
项目中常三的语句 Data Pump包括导出表,导出方案,导出表空间...
SQL&gt; select count(*) from v$session #当前的连接数...
查看用户和默认表空间的关系。 select username,default_tab...
如果服务器里面可以访问,在别的电脑上不能访问,防火墙也关...