• 締切
  • 困ってます

MySQLの日付型データをBetweenで抽出する方法

  • 質問No.2288025
  • 閲覧数1853
  • ありがとう数6
  • 回答数1

お礼率 100% (2/2)

MySQL で格納したデータを Perl を使ってブラウザに出力したいのです
が、日付型で格納したデータを Between で範囲を指定して出力しても
条件通り出力できません。
Between 式が間違っているまでは把握しているのですが、修正方法が
分かりません。どなたか教えていただけませんか?

# $form->param('combo1')は、2006 が格納されている
$date1 = $form->param('combo1') . "/04/01";
$date2 = $form->param('combo1')++ . "/03/31";
# $date1 の値は、2006/04/01
# $date2 の値は、2007/03/31

$sql = "SELECT Itaku_Date FROM table WHERE ";
$sql .= "Between " . $date1 . " And " . $date2;

回答 (全1件)

  • 回答No.1

ベストアンサー率 53% (94/175)

where と between の間にフィールド名が抜けています。
英語で言うと主語が抜けているわけです。

日付が格納されているフィールドが Itaku_Date であるなら、
" where Itaku_Date between "...
という書き方です。

また、日付の区切りは"/"ではなく"-"を使いましょう。
さらに、日付の文字列はシングルクォートでくくりましょう。
'2006-04-01'などとするのが正しいです。
お礼コメント
Marute

お礼率 100% (2/2)

Between 構文の件ありがとうございました。
更に、日付の文字列をシングルクォートでくくるやyyyymmddの書式を
ハイフンにするという細かな助言を頂き無事に SELECT できました。
ありがとうございました。
投稿日時:2006/07/21 11:54
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ