在我的表中,我使用时间戳字段来确定用户创建记录的时间,并使用其他字段来查看他/她上次更新记录的时间。
当我创建一个查询以向管理员显示从该月的第一天到最后一天创建或更新的记录时,如果我使用两个 TDateTimePick
组件来获取这些日期,但我没有获取所有记录,因为该组件插入了当前时间,并且它与我的时间戳冲突。
为了解决这个问题,我现在使用一个文本字段,我将日期保存为数字,例如 YYYYMMDDHHMMSS,然后我查询 Left(numered_date, 8) >= $begin_date and Left(numered_date, 8) <= $end_date
.
但我的客户提示报告中缺少某些数据。
我做错了什么?
是否有更好的(失败保存)方法来检查这些日期?
我有一个问题,我来自巴西,这里的日期类似于 DD/MM/YYYY。为此,有时我必须创建一个新的文本字段,并将日期格式化为此。
最佳答案
我建议您使用日期时间字段。还有,看看
https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format
- 顺便说一句,我也是巴西人
- 如果您有其他疑问,请给我发邮件(用葡萄牙语(如果您愿意))
[从这里编辑]
我说得太多了。我忘了提几件事。看看下面的命令,
SELECT FROM_UNIXTIME(1234567890, '%d / %m / %Y, %k : %i');
好的。再告诉你一个 secret (关于 Delphi):
(很久没用Delphi了,也许对你有帮助)
您应该使用“AdoQuery”对象,而不是“ADO”对象。
这样您就可以使用自己的选择。此外,您还可以创建 View (当然它对任何语言都有帮助!)。您可以在获得格式化日期的女巫中创建 View (按照您想要的方式)。
Views 为我节省了很多时间,因为我不得不做大量的 DAO(数据访问对象)来列出论坛、主题、帖子等。然后我为它们制作了一些 views。只有一个 DAO 用于查询我的观点。
*伙计们,顺便说一句,对不起我的英语不好
关于mysql - 在 MySQL 中查询日期期间的故障安全方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15261544/