FC2ブログ

演算クエリー(その1)

今回は演算クエリーについて学びます。

クエリーは様々な条件で抽出してくるだけでなく、抽出結果を表示するときに、データを計算したり、加工したり出来ます。その時に算術演算子や結合演算子やACCESSで用意されている関数などを使うことが出来ます。

1.姓漢字と名漢字を半角スペースを空けて連結表示する。その時にフィールド名を「姓名」とする。

 文字列の結合

文字列を結合するには結合演算子「&」を使用します。フィールド名は[         ]で囲みます。固定文字はダブルクオーテーションで囲みます。フィールド名を任意に変更したい場合は、コロンの前に指定します。以下表示結果になります。

文字列の結合(結果) 

2.生年月日より年令を算出する。

年令を算出

生年月日と今日の日付の差より年令を計算します。日付の差を計算するにはDateDiff()関数を使用します。今日の日付を取得するにはDate()関数を使用します。ちなみに現在時刻まで取得するにはNow()関数を使います。

DateDiff(時間間隔,開始日付,終了日付):開始日付から終了日付までの差を求めます。その時の単位を時間間隔で指定します。時間間隔の単位としては主に以下のようなものがあります。

yyyy:年
m:月
d:日

この例では年令なので、"yyyy"を指定し通算年数を指定していますが、実はこの指定ですと正確さにかけます。年だけで見ているので最大1年の誤差が生じます。正確を期すのであれば、生年月日の月日が当日日付の月日より手前であれば1年差し引くような判断が必要になります。

開始日付、終了日付に指定するフィールド又は式は必ず日付型でなければなりません。他の型ですとエラーになります。

日付に関する関数はそんなに多くはないので、次の2つはセットで覚えておくといいでしょう。

DateAdd(時間間隔,時間間隔数,基になる日付):基になる日付に対して時間間隔で時間間隔数加算する関数です。例えば生年月日の10年後の日付を算出したければ以下のように指定します。
DateAdd("yyyy",10,[生年月日])
時間間隔はDateDiffと同じ文字列を使います。時間間隔数は数値である必要があります。正数であれば加算、負数であれば減算します。基になる日付は当然日付型です。

DateSerial(年,月,日):年、月、日となる3つの数値から日付を生成する関数です。返却値は日付型になります。例えば以下のように指定すると、2011年01月12日が返ります。
DateSerial(2011,1,12)
年、月、日として指定できるのは当然数値のみで、存在しない日付を指定しようとすればエラーになります。

問題の表示結果は以下のようになります。
 
年令を算出する(結果)

次回は集計クエリーについて見てみます。
関連記事
スポンサーサイト



テーマ : データベース
ジャンル : コンピュータ

コメントの投稿

非公開コメント

最新記事
全記事表示リンク

全ての記事を表示する

月別アーカイブ
カテゴリ
お問い合わせ
まずはこちらのフォームより御一報下さい。

名前:
メール:
件名:
本文:

検索フォーム
RSSリンクの表示
アクセスランキング
[ジャンルランキング]
コンピュータ
677位
アクセスランキングを見る>>

[サブジャンルランキング]
ソフトウェア
96位
アクセスランキングを見る>>
ブログランキング

FC2Blog Ranking