- PR -

テキスト型に入ってる日付データを昇順に取得する方法

1
投稿者投稿内容
YURI
会議室デビュー日: 2005/10/21
投稿数: 17
投稿日時: 2005-11-29 09:45
お世話になっております。

下記のようなテーブルがあります。
このテーブルデータをSQLで年月日の昇順に取得するにはどうすればいいのでしょうか?

テーブル名:テーブルA
フィールド名 データ型
番号     オートナンバー
年月日    テキスト型 (例 2005/5/4)
出来事    テキスト型
(Access2003)

以下のようなSQLを発行した場合は意図した順番でデータを取得することができません。

(SQL)
SELECT 年月日 FROM テーブルA ORDER BY 年月日;

(結果)
年月日
2005/10/9
2005/12/31
2005/9/4

年月が1桁の場合に頭に0を付加する形でデータが格納されていれば
問題ないと思うのですが「頭0なし」が仕様なので変更できません。
また、テキスト型であるのも同じく仕様のため変更できません…。

お知恵を拝借できればと思います。
よろしくお願いします。
なおこ(・∀・)
大ベテラン
会議室デビュー日: 2004/04/08
投稿数: 174
お住まい・勤務地: 東京都
投稿日時: 2005-11-29 09:54
お世話になります。
引用:

AKKOさんの書き込み (2005-11-29 09:45) より:
お世話になっております。

下記のようなテーブルがあります。
このテーブルデータをSQLで年月日の昇順に取得するにはどうすればいいのでしょうか?

テーブル名:テーブルA
フィールド名 データ型
番号     オートナンバー
年月日    テキスト型 (例 2005/5/4)
出来事    テキスト型
(Access2003)

以下のようなSQLを発行した場合は意図した順番でデータを取得することができません。

(SQL)
SELECT 年月日 FROM テーブルA ORDER BY 年月日;

(結果)
年月日
2005/10/9
2005/12/31
2005/9/4

年月が1桁の場合に頭に0を付加する形でデータが格納されていれば
問題ないと思うのですが「頭0なし」が仕様なので変更できません。
また、テキスト型であるのも同じく仕様のため変更できません…。

お知恵を拝借できればと思います。
よろしくお願いします。



ACCESS の Format 関数で yyyymmdd形式の文字列にすれば可能かと。

[ メッセージ編集済み 編集者: なおこ(・∀・) 編集日時 2005-11-29 10:11 ]
YURI
会議室デビュー日: 2005/10/21
投稿数: 17
投稿日時: 2005-11-29 10:18
なおこ様
ありがとうございます。解決いたしました。

SELECT 年月日 FROM テーブルA ORDER BY FORMAT(年月日,'YYYYMMDD');
1

スキルアップ/キャリアアップ(JOB@IT)