Access。クエリ。8桁の数値の日付を、年月日それぞれのフィールドに分けたい
<Access:Mid関数>
データを読み込んだところ、日付が8桁の数値で構成されていました。
データは短いテキスト型です。
この8桁の数値では、年月日を管理しにくいので、年・月・日。
それぞれ分割したフィールドで管理したいのですが、どのようにしたら、年月日に分割することができるのでしょうか。
考え方として、左から4文字が年。
中央の2文字が月。
右から2文字が日です。
Accessにも、ExcelのようにLeft関数・Mid関数・Right関数が用意されています。
それぞれの関数をつかった、演算フィールドでもいいのですが、テーブルのフィールド名を何度も入力するのは面倒です。
コピーしてもいいのですが、関数を変更するのも、やはり、面倒です。
そこで、年・月・日をすべてMid関数だけで対応することができますので、今回は、Mid関数のみで、対応していきます。
クエリを作ります。
ホームタブのクエリデザインで、テーブルのすべてのフィールドをつかいます。
まずは、実行して確認しておきましょう。
このように、年・月・日という演算フィールドで8桁の日付を分割することができました。
では、演算フィールドを確認します。
年: Mid([8桁日付],1,4)
Mid関数は、文字列の指定した場所から、指定した文字数を抽出する関数です。
Excelと同じです。
年は、最初の1文字目から4文字までが年です。
これと同じように、月と日の演算フィールドをつくります。
年の演算フィールドをコピーして、貼り付けたら、フィールド名と指定した場所の数値と、抽出したい文字数である2に変更すればいいだけです。
3種類の関数を使って抽出してもいいのですが、Mid関数だけでも対応することが可能です。