1

2 つの日付の間のレコードの情報を取得するために使用するこのクエリがあります。

$start=$_REQUEST['from'];
$end=$_REQUEST['to'];
$startd = str_replace('/', '-', $start);
echo $start1=date('Ymd', strtotime($startd));
$endd = str_replace('/', '-', $end);
echo $end1=date('Ymd', strtotime($endd));
echo $data ="SELECT * from forma 
  WHERE DATE(data) BETWEEN '".$start1."' AND '".$end1."' ";
  $res = odbc_exec($connection, $data) or die(odbc_error());

このエラーが発生します:

]'DATE' is not a recognized built-in function name., SQL

しかし、SQLでこれをどのように解決できますか? dataタイプですvarchar..

ありがとう

4

2 に答える 2

0

dataフォーマットされた日付文字列で構成されている場合、次のYmdことができるはずです。

$data="SELECT * from forma WHERE data BETWEEN '".$start1."' AND '".$end1."'";

文字列を比較できます: '2012' > '2011'and 'b' > 'a'、あなたの場合は'20121214' > '20120701'、たとえば .

于 2012-12-14T15:19:15.380 に答える