ORA-01489: result of string concatenation is too long が出たプログラムを流用しようと思って使ってみたら、エラーが出てました。見てると普通にoraエラー。他に使ってるやつなので不思議に思っていたのですが、実行したやつはデータ件数が多くなる形になっていました。 ...
もっと読む
カテゴリ: oracle
ORA-00933: SQL command not properly ended が出た
ORA-00933: SQL command not properly ended が出たいやもう、すごい簡単な話なんですが。もらったSQLを実行してみたらなんかエラーになりました。エラーコードはSQLコマンドが終了してないよ、っていうやつ。SQLを良くみると、1つだけシングルコーテーションが違う。upda ...
もっと読む
oracleの正規表現で少しハマった話_REGEXP_REPLACE
oracleの正規表現で少しハマった話_REGEXP_REPLACE URLを含むjsonの一部のデータを抜き出したい、ってことよくありますよね。 そういうときに力を発揮するのが正規表現。 なんですが、どうも上手くいかなくて苦労した話です。 結果的に上手くいったんですが。 ...
もっと読む
oracle SQL Developer で文字をエスケープしようとしたときの話
oracle SQL Developer で文字をエスケープしようとしたときの話 はい、ちょっと環境が変わってSQL Developer使っています。 SQLで文字列を出すときに&(の半角)みたいなのって特殊文字扱いになるのですが、 select 'aaa & bbb' as dat from dual; とすると、 ...
もっと読む
SQLで正規表現でタブとか改行とか制御文字全般を削除する方法
SQLで正規表現でタブとか改行とか制御文字全般を削除する方法 chr(9) chr(10) chr(13) とか呪いのように削除していましたが、 そもそも制御文字全般を消してしまえばよいのでは? ということで調べたら普通にありました。 [[:cntrl:]] ということで、こいつを ...
もっと読む
微妙なカンマ区切りをSQLの正規表現で頑張る
微妙なカンマ区切りをSQLの正規表現で頑張る はい、どちらかというと頭の悪い方向に進んでいる感が否めませんが、 取り急ぎ対応としては良く発生するものです。 こんなデータがあった時に、 ,aa,,b,,,b, これを複数カンマは1つに纏め、前後のカンマは無視す ...
もっと読む
DatabaseError: column at array pos 0 fetched with error: 1406 が出た
DatabaseError: column at array pos 0 fetched with error: 1406 が出た はい、なんか普段見ないエラーコード体系ですが、 この文字面で検索しても出なかったので、あえてこのタイトルそのままにしました。 結論から書くとORA-01406だと思うのですが、 これが出た ...
もっと読む
ORA-01555 エラーが出たけど、SQLはそんなにヘンそうに見えない
ORA-01555 エラーが出たけど、SQLはそんなにヘンそうに見えない はい、最近高頻度に「ORA-01555」が出るようになってきたので、 ちょっと真面目に調べました。 DatabaseError: ORA-01555: snapshot too old: rollback segment number x with name "xxxxxxxxxx" too ...
もっと読む
日付betweenの落とし穴
日付betweenの落とし穴 betweenは使いやすいものの、日付で取り扱う時には注意が必要です。 timestamp型で取り扱う場合で、 between {from} and {to} で、toの部分を日付にすると、その日の0時0分0秒までしか対象になりません。 例) select * from ( ...
もっと読む
to_single_byte でシングルバイト文字に変換
to_single_byte でシングルバイト文字に変換 データ内に半角全角入り乱れてアルファベットや数字が入ってる時、 正規表現でやるよりそもそも一旦全部半角にした方が楽なんじゃ、と思って使ってみました。 select to_single_byte('あいうえおカキクケコABCDE、 ...
もっと読む