[MS Access]クエリで変換 hhmm(数値型)⇒hh:mm(日付/時刻型)
テーブル上で”930”や”1030”というように数値型になっているデータを、
クエリ上では”9:30”や”10:30”の日付/時刻型へ変換したいと考えております。
この場合、どのようなSQL文で記述をすればよろしいでしょうか?
テーブルやフィールは下記のようになっております。
■テーブル名
tbl_サンプルテーブル
■フィールド名
ID(オートナンバー型)
時刻(日付/時刻型)
回答(2件)
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示
#1です
前回の処理は不評でしょうか。
以下の様な書き方でも(文字列の生成)
Format([数値時刻],"00:00") これで hh:nn 形式に
後は、型変換で CDate を使えば良いと思います。
※数値型フィールドを日付/時刻型に変更することで、従来入っていたデータが勝手に変わってくれるものでは無いと思います。
この回答へのお礼
30246kiku様
回答が遅れて、申し訳ございません。
先のご回答でご教授いただいた式でOKでした。
書式周りは弱いので、大変参考になりました。
これで最後に残っていた課題が解決し、リリースへ
向かう事ができます。。。
本当にありがとうございました!
No.1ベストアンサー20pt
元の数値が入っているフィールド名を「数値時刻」と仮定します。
[数値時刻] \ 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)
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示