Excel2000の名前定義とかoracleとかメモ

以前どこかの日記で「Excel2000でリンクを外す方法」というのをやったのですが、それに追記。
Excel2000でリンク先を変更しようとしても変更できない場合は、
・シート内の記載でリンクを使用している
・シート内の画像でリンクを使用している
・名前定義でリンクを使用している
の可能性があり、名前定義は忘れやすいので注意。
名前定義は「挿入」→「名前」→「定義」で変更できる。マクロなどで使用している場合を除き、大抵の場合は全削でおk。
ちなみに、名前定義に変な定義が残っていると、シートをコピーしたり移動したりしたときに

移動またはコピーする数式またはシートには、移動またはコピー先のワークシートに 既にある名前'xxx'が含まれています。この名前を使用しますか?
というメッセージが出力されることもある。


で、oracleですが、先日意味不明な現象が発生。OSqlEditで検索をかけると結果が138件なのに、Javaを介すと結果は131件。ObjectBrowser、SQLPlusで実行しても結果は131件。SQLPlusが一番正しいんじゃないか? OSqlEditが間違ってるんじゃね? という話になり、やんややんや騒いだ結果、原因は以下と判明。


実行SQL文:SELECT * FROM テーブル名 WHERE '2005' < SUBSTR(LAST_DAY('20091201'),x,x);
原因:LAST_DAYの引数はDATE型、SUBSTRの引数はCHAR型でなければならない。


というわけで、
SELECT * FROM テーブル名 WHERE '2005' < SUBSTR(TO_CHAR(LAST_DAY(TO_DATE('20091201','YYYYMMDD')),'YYYY-MM-DD'),x,x);
こんな感じで実行したところ、全て同じ抽出結果(138件)に。
> OSqlEditが間違ってるんじゃね?
という意見は覆され、OSqlEditが正しく判定・抽出してくれていたという衝撃の事実が判明したのでした。

個人的な意見としては、こういう間違った記載はエラーにした方が良いと思う。