Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 根据条件从表中删除某些行,并将varchar转换为日期_Sql_Oracle - Fatal编程技术网

Sql 根据条件从表中删除某些行,并将varchar转换为日期

Sql 根据条件从表中删除某些行,并将varchar转换为日期,sql,oracle,Sql,Oracle,我知道这个问题的答案可能微不足道。当满足某些条件时,我想从一个巨大的表中删除某些行。条件为drdate(一个varchar字段),该字段保存日期信息,因此需要对其进行转换。这个表很大,理想情况下我不想花费太多时间运行查询 delete from products where (to_date('drdate','mm/dd/yyyy')) > (to_date('01/01/2011','mm/dd/yyyy')) 这将返回: SQL错误:ORA-01858:在需要数字的位置找到非数字

我知道这个问题的答案可能微不足道。当满足某些条件时,我想从一个巨大的表中删除某些行。条件为
drdate
(一个varchar字段),该字段保存日期信息,因此需要对其进行转换。这个表很大,理想情况下我不想花费太多时间运行查询

delete from products 
where (to_date('drdate','mm/dd/yyyy')) > (to_date('01/01/2011','mm/dd/yyyy'))
这将返回:

SQL错误:ORA-01858:在需要数字的位置找到非数字字符 185800000试试这个:

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

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

drdate列中的数据类型是什么?OP说它是varchar为什么在代码中
drdate
列名称周围有引号?很好。显然,情况需要扭转。好啊thx@SchmitzIT他们也是。我在问,因为我发现了和你一样的东西,但显然忽略了正确阅读整个问题。