2010-1-17 (日)
2010-1-15 (金)
■[PG][MySQL] SELECT (1,2)=(1,2) とか SELECT (1,2) IN ( (1,2) )
SELECT (1,2)=(1,2); SELECT (1,2) IN ((1,2));
この括弧の使い方がドキュメントのどこで説明されているんだろうと思って人力検索で質問したんだけど、回答が出る前に答えが見つかった...。質問をキャンセルしたら、質問自体が消えて無くなるんですな。コメントに書き足そうと思っていたのに、それができなくなってしまったので日記に。
この時点までの話は、単一値や値のカラムを返すサブクエリなどのような、スカラやカラム サブクエリに関しての物でした。行サブクエリ は単列を戻し、ひいては複数のカラム値を返す事ができるサブクエリ異型です。ここに2つ例があります。
SELECT * FROM t1 WHERE (1,2) = (SELECT column1, column2 FROM t2); SELECT * FROM t1 WHERE ROW(1,2) = (SELECT column1, column2 FROM t2);もしテーブル t2 が column1 = 1 と column2 = 2 の場所に行を持っていれば、ここにあるクエリは両方 TRUE です。
MySQL :: MySQL 5.1 リファレンスマニュアル :: 12.2.8.5 行サブクエリ
で、知りたかったこと...
式 (1,2) と ROW(1,2) は時々 row constructors と呼ばれます。それら2つは同等の物です。それらは、別のコンテキストの中でも正当です。例えば、次の2つのステートメントは意味的に同等です。(1つ目は MySQL 5.1.12 まで最適化する事ができませんが)
SELECT * FROM t1 WHERE (column1,column2) = (1,1); SELECT * FROM t1 WHERE column1 = 1 AND column2 = 1;
ANDをいっぱい書くより楽そうだなと思ったけど、ANDで書いたほうがよさそうだなぁ。
■[メモ] 今月の電気代
12/14〜1/14(31日間)で電気代に関係ありそうなこと。
- 10日間くらい家を留守に
- 10日間くらいWHSの電源を入れっぱなしにした
- | 2007 | 2008 | 2009 | 2010 |
---|---|---|---|---|
1月 | \10,053 | 477 \10,814 | 273/31=8.81 \6,793 | 244/32=7.63 \5,235 |
2月 | \8,548 | 505 \11,462 | 278 \6,914 | |
3月 | \7,977 | 446 \10,098 | 256 \6,380 | |
4月 | \8,809 | 452 \10,481 | 310/33=9.39 \7,549 | |
5月 | \10,056 | 439/32=13.72 \10,173 | 286/31=9.23 \6,368 | |
6月 | \11,484 | 357/28=12.75 \8,233 | 269/28=9.60 \5,846 | |
7月 | \13,103 | 438/31=14.13 \10,355 | 305/32=9.53 \6,496 | |
8月 | \17,459 | 530/31=17.10 \12,575 | 354/30=11.80 \7,500 | |
9月 | \14,028 | 429/29=14.79 \10,138 | 373/32=11.66 \7,828 | |
10月 | \13,478 | \10,041 | 297/31=9.58 \6,211 | |
11月 | \9,690 | 335/30=11.17 \7,870 | 241/29=8.31 \5,110 | |
12月 | 418 \9,325 | 330 \7,749 | 230/31=7.42 \4,928 | |
合計 | \134,010 | \119,989 | \72,813 |
先月より若干成績が落ちた。
2010-1-12 (火)
■[PC] DQ43APに交換していろいろ
昨日の続き。
実家から持ち帰ったPT1と、自宅の別マシンで使っていたPT1をセットアップ。これで8チューナなんだけど、自宅はBSのアンテナがなかったり、ケーブルが不足していたりで地デジの3チューナで運用。今まで2チューナでほぼ問題無かったから、3チューナで十分かも。
Q43/Q45チップセットの待機電力に関しては、BIOSからCtrl+Pで入れるメニューから設定を変えて解決。デフォルトでは6〜7W消費するところが3Wに。AMTがないDG33TLでも2〜3Wだったから、こんなもんだろう...。
実家から持ち帰ったPT1はRev.Aで環境によってはスリープから復帰時に認識できないことがあるらしい。今のところ問題は起こっていないけどちょっと気になるな...。
H55チップセットのMini-ITXマザー。
2010-1-11 (月)
■[PC][クリック] DQ43APを買った
自宅のパソコンの体積を減らす方法をいろいろ考えた結果、新しいマザーボードを買った。
交換前 | 交換後 | |
---|---|---|
CPU | Core 2 Duo E8400(3GHz) | 〃 |
マザー | DG33TLM | DQ43AP |
電源 | Antec Neo HE 430 | 〃 |
HDD #1 | ST380815AS | 〃 |
HDD #2 | WD10EACS-00D6B0 | 〃 |
PCI #1 | ||
PCI #2 | N/A | |
消費電力(IDLE) | 48W | 42W |
電源OFFでも6W。DQ45CBと同じでAMTの関係かな。
システムのドライブを3.5インチから2.5インチに交換してOSを再インストール。
- ST380815AS → MHZ2120BH で、アイドル時 36W (-6W)
セットアップの続きはまた今度にする。
2010-1-9 (土)
■[PG][JavaScript] {2:"two", 1:"one"} の順序
for in でどういう順番で出てくるか保証されてないという認識はあったけど、テストしたブラウザでは都合良く書いた順番に出てくるから、手抜きしていたんだけど Google Chrome だとソートされていたorz
var a = { 2:"two", 1:"one" }; for (var i in a) { alert(i); // chromeだと1,2の順に... }
手抜きを修正せねば...。
しょぼかるのポップアップに表示されるリストがぐちゃぐちゃなのはこれのせいだったか。今頃気づいた...。