小编典典

VB.net SQL语句查询1年旧时间戳

sql

我想在我的网格视图中显示所有时间戳记从当前日期开始不超过1年的数据。

我的时间戳格式如下:20110125-071830yyyymmdd-hhmmss

我试图参考:

检索不到一天的行:

Select *  from table_name WHERE DATE(timestampVal) > DATE(NOW() - INTERVAL 1 YEAR);

但缺少表达标志

我还尝试了其他各种方法。但是,我的timestampVal只是在格式上有所不同。

例如:https :
//community.oracle.com/thread/2207956

使用编码: Select * from table_name WHERE timestampVal < sysdate - interval '1' year ;

但是会得到错误:literal does not match format string这意味着sysdate无法读取我的格式。

如何查询我的时间戳以提取所有一年或更短的时间?

仅供参考:timestampVal是字符串类型[varchar]


阅读 217

收藏
2021-05-16

共1个答案

小编典典

看起来以下应该工作:

Select *
  from table_name
  WHERE TO_DATE(timestampVal, 'YYYYMMDD-HH24MISS') > sysdate - interval '1' year;

另外请注意,我颠倒了比较:你曾表示希望行,其中timestampVal不早 于1年前-
所以timestampVal应该比当前时间减去1年更大(更新)。

2021-05-16