過去の桐井戸端BBS (桐ver.9)
24203 #日時値で文字列型から日時値へ変換したらすべて同じ日付になってしまう おぎの 2004/01/08-12:16
文字列型の項目[送信日]に「040101」のように入っています。
これを日時型へ変換したいのですが、
 #日時値([送信日])
としたら、全て同じ日付
 01/01/01
となってしまいました。
結局は、それぞれの間に「/」がないせいだと分かったのですが、
「040101」のままで「04/01/01」へ変換する方法はあるのでしょうか?
24204 「#部分列」関数ではどうでしょう 悲しげ 2004/01/08-12:54
記事番号24203へのコメント
あまりスマートではありませんが、「#部分列関数」を使って
#日時値("20"+#sstr([送信日],1,2)+"/"+#sstr([送信日],3,2)+"/"+#sstr([送信日],5))
とするようなやり方もあります。

24209 Re:「#部分列」関数ではどうでしょう おぎの 2004/01/08-14:46
記事番号24204へのコメント
悲しげさん、いつもありがとうございます。
教えていただいた式、大変参考になりました。

過去ログ検索でこんなのを見つけました。
#日付("040101",4)
これで文字列の方を先に「040101」→「04/01/01」としておいて、
文字列→日時値に変換するのが一番ラクな方法かもしれませんね。
24210 Re:「#部分列」関数ではどうでしょう おぎの 2004/01/08-15:23
記事番号24209へのコメント
>過去ログ検索でこんなのを見つけました。
>#日付("040101",4)

これを、実際に
#日付([送信日],4)
としてやってみると、同じように「0001年01月01日」となってしまいました。
24211 Re:「#部分列」関数ではどうでしょう うにん 2004/01/08-15:28
記事番号24209へのコメント

>過去ログ検索でこんなのを見つけました。
>#日付("040101",4)
>これで文字列の方を先に「040101」→「04/01/01」としておいて、
>文字列→日時値に変換するのが一番ラクな方法かもしれませんね。

#日付も、区切りのない数字列を与えると全部年になるので
「40101年 1月 1日」になります。

年は仕様上65535までで6桁になることはありえないので、
yymmdd形式も日付文字列に使えるといいんですけどね。
「month dd,yyyy」は使えるのでびっくりしました。

戻る