繁体   English   中英

在Oracle中将VARCHAR2数据转换为日期

[英]convert VARCHAR2 data to date in oracle

我在TIMESTAMP列中有以下数据

TIMESTAMP - VARCHAR2

Format - YYYY-MM-DD hh24:mi:ss.0

2018-01-31 23:47:35.0
2018-01-01 00:00:48.0
2018-01-01 06:54:36.0

我正在尝试查询以获取两个日期(example 4th Jan to 18th Jan)之间的数据,但是我不确定如何将其转换为DATE格式。 以前我曾经每天获取数据,并在我的SQL查询中使用WHERE TIMESTAMP LIKE '2018-01-04%'

非常感谢有人能帮忙

一种方法使用to_date()

where to_date(timestamp, 'YYYY-MM-DD HH24:MI:SS.F') >= date '2018-01-04' and
      to_date(timestamp, 'YYYY-MM-DD HH24:MI:SS.F') < date '2018-01-09'

但是,您使用的是良好的日期格式,因此可以使用字符串比较:

where timestamp >= '2018-01-04' and
      timestamp  < '2018-01-09'

尽管这很方便,但是您应该将值存储为日期或时间戳。 将日期/时间值存储为字符串通常是不好的(尽管您的格式使其更合理)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM