首页 文章

在条件上从表中删除某些行并将varchar转换为日期

提问于
浏览
0

我知道这个问题可能有一个微不足道的答案 . 我想在满足某些条件时从巨大的表中删除某些行 . 条件位于 drdate (varchar字段),它保存日期信息,因此需要进行转换 . 该表非常庞大,理想情况下我不想花太多时间来运行查询 .

delete from products 
where (to_date('drdate','mm/dd/yyyy')) > (to_date('01/01/2011','mm/dd/yyyy'))

返回:

SQL错误:ORA-01858:找到一个非数字字符,其中数字是预期的01858. 00000

1 回答

  • 2

    试试这个:

    delete from products 
    where (to_date(drdate,'mm/dd/yyyy')) > (to_date('01/01/2011','mm/dd/yyyy'))
    

    如注释中所述,引号会导致函数计算字符串值 'drdate' 而不是 drdate 列中的值 .

相关问题