SQL中要求实现日期相等比较,允许成功,却无影响

在更新操作中,where字句进行选择时日期无法进行比较,选择datediff函数希望日期相差零得到相等,无法产生影响

img


img

先 select * from 表 where这个条件看能不能查到数据,多半是没有匹配的数据

img

说明没有6-11的数据

你可以尝试把2023-06-11的数据先查出来,看是否存在,再一步步排查

  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7454884
  • 这篇博客你也可以参考下:SQL中将时间戳转为格式化日期后进行比较日期的方法
  • 除此之外, 这篇博客: 数据库编程与设计—SQL语言中的 3.10.1 写一个查询显示当前日期,列标签显示为 Date 。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 答案:

    select sysdate "Date" from dual;
    
  • 以下回答由chatgpt基于相关博客总结生成:

    可以尝试使用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')是要比较的日期。可以根据具体情况修改。

    如果还是无法生效,可以查看数据类型是否正确,比如日期列是不是设置为字符串类型。如果问题还未解决,可以提供更多细节信息,以便更好地帮助解决问题。