しゃるる丼 nantan.net

139月/060

ORA-01719

[sql]
ORA-01719: outer join operator (+) not allowed in operand of OR or IN
[/sql]
 これは知らなかった。外部結合とOR句、もしくはIN句を併用できないらしい。
 使いたい場合は条件をバラしてUNIONするしかないのかなぁ。

Tagged as: , No Comments
248月/060

カナ以外で始まる名前をSELECTするSQL文

 仕事でこんな感じの依頼がきたので少し考えてみた。例えば「ア」で始まる名前をSELECTする場合は普通はこう書くだろう。
[sql]
SELECT BOOK.NAME
FROM BOOK
WHERE BOOK.NAME_KANA LIKE 'ア%'
[/sql]

Tagged as: Continue reading
26月/060

日付比較

SQLのお話。
[sql]
WHERE TO_CHAR(date_column, 'YYYYMMDD') = '20060602'
[/sql]
[sql]
WHERE date_column = TO_DATE('20060602', 'YYYYMMDD')
[/sql]
 どちらも結果は同じになるけれど、前者はインデックスが有効にならないなというお話。

Tagged as: No Comments
1912月/050

MySQL Binary演算子

 しゃるる丼定食において2バイト文字比較の動作がどうも怪しいということで少し調査をしてみました。
 どうやらBinary演算子とやらをSELECT文で指定すれば文字比較が正確にされるとか。本当はテーブルスキーマの段階でBinary演算子を指定したほうがいいのかな?
 こんな感じ。
[sql]
SELECT * FROM TAB1 WHERE COL1 LIKE '%TEST%';

SELECT * FROM TAB1 WHERE COL1 LIKE BINARY '%TEST%';
[/sql]
 あんまり良く分かっていないので正しいのかどうかは不明w まぁ懸念していた検索性能は改善されて問題はなさそうです。

Tagged as: , No Comments
245月/050

PLSQL editor

使う日が来るかどうかは別としてメモメモ。

Tagged as: , , No Comments