在更新操作中,where字句进行选择时日期无法进行比较,选择datediff函数希望日期相差零得到相等,无法产生影响
先 select * from 表 where这个条件看能不能查到数据,多半是没有匹配的数据
说明没有6-11的数据
你可以尝试把2023-06-11的数据先查出来,看是否存在,再一步步排查
答案:
select sysdate "Date" from dual;
可以尝试使用TO_DATE函数将日期字符串转换为日期格式进行比较,比如:
UPDATE table_name SET column_name = new_value WHERE TO_DATE(date_column, 'YYYY-MM-DD') = TO_DATE('2021-12-31', 'YYYY-MM-DD');
其中,table_name是要更新的表名,column_name是要更新的列名,new_value是新的值,date_column是要进行比较的日期列名,'YYYY-MM-DD'表示日期格式,TO_DATE('2021-12-31', 'YYYY-MM-DD')是要比较的日期。可以根据具体情况修改。
如果还是无法生效,可以查看数据类型是否正确,比如日期列是不是设置为字符串类型。如果问题还未解决,可以提供更多细节信息,以便更好地帮助解决问题。