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

VB.net SQL statement to query 1 yr old Timestamp

我想在我的 gridview 中显示时间戳不早于当前日期 1 年的所有数据。

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

我试过参考:

Retrieve rows less than a day old:

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]

看起来以下应该有效:

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

另请注意,我颠倒了比较:您表示您想要 timestampVal 比 1 年前不早 的行 - 所以 timestampVal 应该大于(更新)当前时间减去一年。

试一试。

祝你好运。