在 where 子句 MySQL 中转换日期
Convert date in where clause MySQL
我希望将日期从 'd/m/Y' 转换为 'Y/m/d' 在 where 子句 中,如下所示:
SELECT * FROM myTable WHERE DATE_FORMAT(myDate,'%Y/%m/%d') = '2020/08/01'
这个查询总是returns一个空结果
有办法吗?
谢谢。
只需将您的数据转换为日期,然后对其进行格式化
SELECT * FROM myTable WHERE DATE_FORMAT(STR_TO_DATE(myDate,'%d/%m/%Y'),'%Y/%m/%d') = '2020/08/01'
或者把它们都设为日期,然后就可以使用日期函数了
SELECT * FROM myTable WHERE STR_TO_DATE(myDate,'%d/%m/%Y') = STR_TO_DATE('2020/08/01','%Y/%m/%d')
最好将日期保存为Date/Datetime/timestamp,这样你就可以毫无问题地用它们计算,而且你总是可以将它们转换成任何输出
我希望将日期从 'd/m/Y' 转换为 'Y/m/d' 在 where 子句 中,如下所示:
SELECT * FROM myTable WHERE DATE_FORMAT(myDate,'%Y/%m/%d') = '2020/08/01'
这个查询总是returns一个空结果
有办法吗?
谢谢。
只需将您的数据转换为日期,然后对其进行格式化
SELECT * FROM myTable WHERE DATE_FORMAT(STR_TO_DATE(myDate,'%d/%m/%Y'),'%Y/%m/%d') = '2020/08/01'
或者把它们都设为日期,然后就可以使用日期函数了
SELECT * FROM myTable WHERE STR_TO_DATE(myDate,'%d/%m/%Y') = STR_TO_DATE('2020/08/01','%Y/%m/%d')
最好将日期保存为Date/Datetime/timestamp,这样你就可以毫无问题地用它们计算,而且你总是可以将它们转换成任何输出