「みんな教えて! 選手権!!」開催のお知らせ

テーブル上で”930”や”1030”というように数値型になっているデータを、
クエリ上では”9:30”や”10:30”の日付/時刻型へ変換したいと考えております。
この場合、どのようなSQL文で記述をすればよろしいでしょうか?
テーブルやフィールは下記のようになっております。

■テーブル名
tbl_サンプルテーブル

■フィールド名
ID(オートナンバー型)
時刻(日付/時刻型)

A 回答 (2件)

元の数値が入っているフィールド名を「数値時刻」と仮定します。



[数値時刻] \ 100 & ":" & ([数値時刻] mod 100)

で、930 → 9:30 の文字列になります。
(905 → 9:5)

日付/時刻型への変換は CDate( ※1 ) を使います。(※1は上記の式)

このままの状態で表示させると 09:30:00 になるので、必要なら Format で形式を指定します。


Format(CDate([数値時刻] \ 100 & ":" & ([数値時刻] mod 100)),"hh:nn")

とか。


※ただ単に hh:nn 形式の文字列を作るのであれば、以下でも大丈夫かと

Right("0" & [数値時刻] \ 100, 2) & ":" & Right("0" & ([数値時刻] mod 100),2)
    • good
    • 1

#1です



前回の処理は不評でしょうか。


以下の様な書き方でも(文字列の生成)

Format([数値時刻],"00:00")    これで hh:nn 形式に

後は、型変換で CDate を使えば良いと思います。


※数値型フィールドを日付/時刻型に変更することで、従来入っていたデータが勝手に変わってくれるものでは無いと思います。
    • good
    • 1
この回答へのお礼

30246kiku様

回答が遅れて、申し訳ございません。
先のご回答でご教授いただいた式でOKでした。
書式周りは弱いので、大変参考になりました。
これで最後に残っていた課題が解決し、リリースへ
向かう事ができます。。。
本当にありがとうございました!

お礼日時:2009/09/14 12:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A