我遇到了一个查询,该查询在两个日期时间之间返回数据,我要解决的查询就是这个
pay.date BETWEEN '01/06/2020 00:28:46 a. m.' AND '01/06/2020 10:38:45 a. m.'
该查询未检测到a。米如果我在上午10点和晚上10点付款,它将把这两个付款都检测为t。 t。部分未检测到,我已经搜索了一段时间没有运气,在此先感谢:)
答案 0 :(得分:0)
使用明确的文字格式,并且不依赖于运行时或连接设置。 Tibor's discussion中的更多信息。
在这种情况下:
where pay.date between '20200601 00:28:46' and '20200601 10:38:45'
请注意,我假设6月而非1月-根据需要进行调整。包括在内,并确保您了解pay.date
的数据类型的局限性。如果是datetime,则该值精确到3ms。验证您的数据是否符合您对秒精度的假设。
答案 1 :(得分:0)
通过实际的<body>
<div class="container">
<div class="one">
</div>
<div class="two">
</div>
<div class="three">
</div>
<div class="four">
</div>
</div>
<script src="script.js"></script>
</body>
类型进行过滤:
datetime
使用cast(replace(replace(pay.date, ' a. m.', 'am'), ' p. m.', 'pm') as datetime)
可能更好,因此您可以指定正确的格式。如果您不能以易于转换的格式提供日期文字,请执行类似的替换操作,并将其强制转换。