gpt4 book ai didi

sql - Oracle SQL : timestamps in where clause

转载 作者:行者123 更新时间:2023-12-03 06:07:05 25 4
gpt4 key购买 nike

我需要查找特定时间范围内的行。

select * 
from TableA
where startdate >= '12-01-2012 21:24:00'
and startdate <= '12-01-2012 21:25:33'

即:我需要查找时间戳精度为秒的行。我如何实现这一目标?

仅供引用:startdate 列的类型为 TIMESTAMP

最佳答案

to_timestamp()

您需要使用to_timestamp()将字符串转换为正确的timestamp值:

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

to_date()

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

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

示例

要将其置于 where 条件中,请使用以下命令:

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()

关于sql - Oracle SQL : timestamps in where clause,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8855378/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com