MySQL和oracle如何查询同一天

有个问题,在写项目做查询的时候,碰到了查询时间,后台现在接收的是一个时间的字符串,例如2023-01-01,如何分别在oracle和mysql中判断出是同一天的记录行,两个数据库存储时间的都是带时分秒的

在 Oracle 中可以使用 to_date() 函数来转换字符串为日期,然后再使用 trunc() 函数截取到天即可进行比较:

SELECT * FROM table_name WHERE trunc(to_date(column_name,'YYYY-MM-DD')) = to_date('2023-01-01', 'YYYY-MM-DD');

在 MySQL 中可以使用 STR_TO_DATE() 函数来转换字符串为日期,然后再使用 DATE() 函数截取到天即可进行比较:

SELECT * FROM table_name WHERE DATE(STR_TO_DATE(column_name, '%Y-%m-%d')) = '2023-01-01';

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^