0

開始日が今日と等しいレコードのみを表示するのに役立つこのクエリがあります..

昨日の変数があります..i次のようにアクセスする必要があります:

$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"; 

ありがとう

4

2 に答える 2

0

日付関数は、使用しているデータベースによって異なります。

Oracleの場合、「date - 1」を使用でき、1日減算されます。sqlserverとmysqlでは、その「ショートカット」についてはわかりませんが、dateadd()またはadddate()などがあると確信しています。

データベースが文字列「$today」をリアルタイムで日付に解釈できるかどうかも異なります。これにより、日付関数で使用できます

WHERE forma.data_fillim = '$today' OR forma.data_fillim = '$today' - 1
于 2013-01-09T14:02:16.490 に答える
0

暗い中での撮影ですが、ANDをORに変えてみませんか?$today と同じ形式の $yesterday が既にあるが、日付が異なる場合は、OR を使用できます。または、次を使用することもできます。

forma.data_fillim in ('$today', '$yesterday')

それはまた、あなたが本当にやりたいことにもよります。$yesterday と $today を含むアイテムの結果を期待している場合は、次を使用できます。

(forma.data_fillim >= '$yesterday') and (forma.data_fillim <= '$today')

$yesterday または $today のアイテムの結果を期待している場合は、上記の前のスニペット (IN ステートメントを含むもの) を使用するか、これを使用できます。

(forma.data_fillim = '$yesterday') or (forma.data_fillim = '$today')

MySQL と MSSQL に当てはまる BETWEEN 構文を使用できます。オラクルについてはよくわかりません:

これが役立つことを願っています

于 2013-01-09T14:19:20.773 に答える