トップ «前の日記(2009-03-05) 最新 次の日記(2009-03-07)» 編集

日々の破片

Subscribe with livedoor Reader
著作一覧

2009-03-06

_ BusinessDateTime型

こういう型が欲しいな。DBにもプログラミング言語(のライブラリでいいけど)。……ライブラリなら作ればいいか。となると、DBにだな。

どういう型か。こういう型だ。

BusinessDateTime bdt = new BusinessDateTime(); // -> 2009-2-1 00:01
bdt.round();                                   // -> 2009-1-31 24:01
System.out.println(bdt.toString());            // -> 2009-1-31 24:01
System.out.println(bdt.normalize());           // -> 2009-2-1 00:01
ps.setBusinessDateTime(2, bdt);                // -> 2009-1-31 24:01
...
ps.executeUpdate();                               // -> DBに入った。
...
ps.setTimestamp(2, new Timestamp("2009-2-1 00:00")); // というコンストラクタがあるとして
...
ps.executeUpdate();                               // -> DBに入った。
...
ps = conn.prepareStatement("select * from ... order by col2");
...
ResultSet rs = ps.executeQuery();
rs.next();                                    // 最初に2009-1-31 24:01 次が2009-2-1 00:00

これができないから、いつまでたっても、Date型とか使わずにcharやnumberな日付時刻カラムがなくならないんだよな。

ないものはしょうがないし、char型やnumber型の日付時刻なんていやなこった。日付計算できないじゃん。では、どうシステム的に解決するかだ。

昨日扱いフラグカラムをtrueってのは、number型日付時刻より、さらにいやだし。っていうか、ソートできないじゃん。

2009-2-1は、0:03から始まるようにして、2009-1-31 23:59は実際には3分間あるもとして扱えば、どうか? ソートの問題は多少出るが、その3分が1分の時間だけの問題で済むはずだ。日付計算はできる。

正確な時間がわからない。それは、Businessがつかない日付を別に用意しておけばいいかも。

というか、別に、2/1は0:04から始まると決めておけばいいだけかも。

_ Project Kobe

S+Sサミットの成本さんのプレゼンテーションのターゲットプラットフォームが公開された。

Project Kobe

……なんで、Projects.zip内のcsをクリックすると、VS2008じゃなくて、どこからともなくやってきたWebDev 2008 Express Editionが動き出すんだろう?


2003|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|

ジェズイットを見習え