以下の環境です。
SQL Server 2005 Express
PHP 5.3.5
SQL Serverのデータベースは、とあるシステムで使われているもので、
そのシステムとは別に、PHPを使ってデータを簡易的に表示させようとしています。
数値として格納された日付('年月日') を ある期間で抽出したいのです。
'年月日'のデータ型が、numeric(8,0) となっており、
20110907 という形式で格納されています。
これを、例えば 2011/8/10~2011/9/10 の期間を指定したいのです。
↓のような…
SELECT * FROM テーブル WHERE 年月日 > 2011-8-9 AND 年月日 <= 2011-9-10
(指定する日付はPHPのdate()で作ります)
もちろん、うまく取り出せないのですが…
数値として格納されてしまっているものを日付として扱い、WHEREに使う方法はありませんか?
ダメなようであれば、代わりの手法はあるでしょうか…?
>数値として格納されてしまっているものを日付として扱い、WHEREに使う方法はありませんか?
>指定する日付はPHPのdate()で作ります
フォーマットをYmdにすれば20110809といった数字列にできますので、下記のようなSQL文を作って、数値のままで検索すれば楽です
SELECT * FROM テーブル WHERE 年月日 > 20110809 AND 年月日 <= 20110910
うわあああ、できました!
こんな簡単にできるんですね…
何時間も試行錯誤してたハズなのに、ハイフン抜きで試していませんでした…
本当にありがとうございます!