- PR -

MySQLでの日付をint型で保存している場合の変換

1
投稿者投稿内容
うめめ
会議室デビュー日: 2005/08/25
投稿数: 5
投稿日時: 2006-07-22 19:10
現在、ある他の会社で構築したシステムを新規に移行するための
作業を行っています。
旧システムではDBMSはMySQLを使っています。
そこで、なぜか日付をint型で保存していました。
新しく、aspxとSqlServerに移行するわけなのですが、
そのint型をSqlServerのdatetime型に変換するには
どのようにすれば良いのでしょうか。

int型日付サンプル:1101826800
末記人
大ベテラン
会議室デビュー日: 2005/12/05
投稿数: 233
お住まい・勤務地: あわにこ
投稿日時: 2006-07-22 19:31
MySQLの公式ページを見ればのっているんだけど...
http://dev.mysql.com/doc/refman/4.1/ja/date-and-time-functions.html

SELECT FROM_UNIXTIME( 1101826800 )
うめめ
会議室デビュー日: 2005/08/25
投稿数: 5
投稿日時: 2006-07-22 20:10
申し訳ありません、説明が不足していました。
実は、MySQL自体を使用することができなくて、
MySQLが出力したDUMP情報をSqlServerのクエリアナライザで
インサート等をして構築しています。

今、調べたことなのですが、perlのtime関数を使って
いたので、その詳細を調べたところ、1970/1/1からの
経過秒数とのことでした。そこでC#で、

DateTime time = new DateTime(1970,1,1);
time = time.AddSeconds(1148914800);

...というやり方で変換をしてそれらしい値は出たのですが、
本当に日本の日付の正しい値か不安です。
末記人
大ベテラン
会議室デビュー日: 2005/12/05
投稿数: 233
お住まい・勤務地: あわにこ
投稿日時: 2006-07-22 20:36
Win版もあることですしPCにMySQLをインストールしてダンプしなおしたり、perlとかで変換フィルタを作れば簡単だと思いますが...
SqlServerは使ったことないのでわかりません。

わかっている知識の中で作業することの方が確実で早いと思いますよ
うめめ
会議室デビュー日: 2005/08/25
投稿数: 5
投稿日時: 2006-07-23 02:14
なるほど、Win版のMySQLを使ってみるという方法は思いつきませんでした。
もしかしたら、かなり初歩的な質問だったかもしれません。
MySQLもPerlも使ったことがなくテンパってしまいました。
ご回答有難うございました。
1

スキルアップ/キャリアアップ(JOB@IT)