BETWEEN演算子でvarchar(形式: "2012.04")として保存された日付を選択するにはどうすればよいですか?varchar日付を
このフィールドでは、1年間の間隔を選択する必要があります。
は今、私はこれにしようとしているが、これは私のMySQLの構文エラーを与える:SELECT DISTINCT monthcol
FROM bo_alerts
WHERE STR_TO_DATE(monthcol , '%Y.%m') BETWEEN
(STR_TO_DATE('2012.04', '%Y.%m') AND STR_TO_DATE('2011.03', '%Y.%m'))
ORDER BY monthcol DESC
日付が(テスト用)今静的ですが、私はBETWEENように第2の値を計算する必要がありますBETWEENセクションの最初の値に正確に-1年になります。
ありがとうございます!私は2番目よりも最初の少ないを持つほとんどのSQLの実装を満たすために、日付の順序を逆にすることを文字列比較を使用しない理由日付は、固定長文字列であるように見えることを考えると
さて、私は、構文エラーのための解決策を見つけた:値の間にブラケットを必要としません。しかし、それでも私は値を返すことはありません... – VORiAND
パラメータの日付を切り替えます。最初の式の間に必要な時間は秒未満です。また、日付をvarcharsとして保存していれば、日付を元に戻す必要はありません。 '2011.03 'と' 2012.04 'の間のmonthcol)' –