如何使用mysql“LIKE”带有时间戳的语法?
我希望允许我的用户在数据库中搜索在某一天提交的行。使用 date()
函数将日期输入数据库中的字段,这很棒,但是当我使用 php strtotime
函数时,日期当然不准确相同。
有一些聪明的 mysql 函数可以帮助我解决这个问题吗?
I want to allow my users to search the database for a row that was submitted on a certain day. The date is entered into the field in the database using the date()
function which is great, but when i use the php strtotime
function, of course the dates are not exactly the same.
Is there some clever mysql function that can help me with this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我之前遇到过这个问题。
您最好生成开始日期和结束日期,然后使用 BETWEEN 函数。
所以像这样:
当然,您只需使用 strtotime 从数据库中提取日期并附加时间戳 - 取决于您如何使用 date()
希望这有帮助:)
I had an issue with this before.
You're best to generate a start and end date then use the BETWEEN function instead.
So something like this:
Of course you would just pull your dates from the DB using strtotime and append the time stamps - depends how you used date()
Hope this helps :)
您可以使用MySQL的 DATE() 提取时间戳日期部分的函数:
如果您在从 PHP 提交“2010-01-25”时遇到问题,您可以使用 PHP 的 日期函数,以 'Ymd' 作为参数,仅获取日期部分。
仔细看看你的问题,看来你需要这两个。首先使用 PHP 的日期函数仅获取日期部分,然后使用 MySQL 的日期仅匹配这些记录。
You can use MySQL's DATE() function to extract date part of the timestamp:
If you have problem submitting '2010-01-25' from PHP, you can use PHP's date function with 'Y-m-d' as parameter to only get the date part.
Looking at your question closely, it seems you'll need both of those. First use PHP's date function to get only the date part and then use MySQL's date to match only those records.
PHP:
SQL:
PHP:
SQL: