我有这个查询,这有助于我只显示起始日等于今天的记录..
我有一个昨天变量..我需要像这样访问:
$strSQL = "SELECT forma.*, SMS_MONTIME.IDTICKET, SMS_MONTIME.MBYLLUR,SMS_MONTIME.time_added
FROM forma
LEFT JOIN SMS_MONTIME ON forma.ID = SMS_MONTIME.IDTICKET WHERE forma.data_fillim = '$today' ORDER BY forma.id DESC";
我需要将其修改为:
$strSQL = "SELECT forma.*, SMS_MONTIME.IDTICKET, SMS_MONTIME.MBYLLUR,SMS_MONTIME.time_added
FROM forma
LEFT JOIN SMS_MONTIME ON forma.ID = SMS_MONTIME.IDTICKET WHERE forma.data_fillim = '$today' AND forma.data_fillim = '$yesterday' ORDER BY forma.id DESC";
由于
答案 0 :(得分:0)
日期功能因您使用的数据库而异。
如果是Oracle,你可以使用“date - 1”,它会减去一天,在sqlserver和mysql上我不确定那个“快捷方式”但是我确定他们有一个dateadd()或adddate()什么的。
如果您的数据库可以将字符串'$ today'实时解释为日期,那么它也会有所不同,以便您可以在日期函数中使用它
WHERE forma.data_fillim = '$today' OR forma.data_fillim = '$today' - 1
答案 1 :(得分:0)
在黑暗中拍摄,但如何改变AND到OR?如果你已经拥有与昨天相同格式的$昨天,但只是它是一个不同的日期,那么你可以使用OR。或者,您可以使用:
forma.data_fillim in ('$today', '$yesterday')
这还取决于你真正想要做的事情。如果您期望包含$昨天和$ $的商品的结果,那么您可以使用:
(forma.data_fillim >= '$yesterday') and (forma.data_fillim <= '$today')
如果您期望$昨天或$ $项目的结果,那么您可以使用上面的上一个片段(带有IN语句的片段)或使用此
(forma.data_fillim = '$yesterday') or (forma.data_fillim = '$today')
您可以使用BETWEEN语法,这对于MySQL和MSSQL都是如此。我不确定Oracle:
我希望这会有所帮助