我需要查找落在特定时间范围内的行。
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()
编辑纠正错字