人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

数値で格納された日付 MS SQL Server
以下の環境です。
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に使う方法はありませんか?

ダメなようであれば、代わりの手法はあるでしょうか…?


●質問者: Chatii
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● うぃんど
ベストアンサー

>数値として格納されてしまっているものを日付として扱い、WHEREに使う方法はありませんか?

>指定する日付はPHPのdate()で作ります

フォーマットをYmdにすれば20110809といった数字列にできますので、下記のようなSQL文を作って、数値のままで検索すれば楽です

SELECT * FROM テーブル WHERE 年月日 > 20110809 AND 年月日 <= 20110910

http://php.net/manual/ja/function.date.php

◎質問者からの返答

うわあああ、できました!

こんな簡単にできるんですね…

何時間も試行錯誤してたハズなのに、ハイフン抜きで試していませんでした…

本当にありがとうございます!

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ