MySQL从远程日期删除

时间:2016-03-15 12:45:48

标签: mysql

您好我正在尝试删除从 04/15/2014 03/16/2016 的所有数据。我的问题是日期的数据类型是DELETE FROM ending_inventory WHERE STR_TO_DATE(dater, '%m/%d/%Y') BETWEEN '04/15/2014' AND '03/16/2016' 。格式为m / d / Y.我当前的sql代码在这里

DATE

它没有做任何事情。

有没有办法在不将数据类型更改为{{1}}的情况下执行此操作?因为我已经拥有大量数据..

3 个答案:

答案 0 :(得分:1)

您正在将日期与字符串进行比较。您需要从您尝试比较的两个字符串生成日期。请参阅Jon Skeets在此处的回答:mysql date comparison with date_format

答案 1 :(得分:1)

你可以试试这个。 STR_TO_DATE FUNCTION将字符更改为日期,其默认格式为“YYYY-mm-dd”

 DELETE FROM ending_inventory
 WHERE STR_TO_DATE(dater, '%m/%d/%Y') 
 BETWEEN '2014-04-15' AND '2016-03-16';

DATE FUNCTIONS 希望这对你有用。

答案 2 :(得分:1)

尝试此操作来解析您的日期:

select date_format(str_to_date('12/31/2011', '%m/%d/%Y'), '%Y%m');