仕事メモとか

仕事中に調べた情報とか知ったことをメモしています。
unixコマンド, vim, oracle, putty, postgresql, bash, EXCEL, python, SQL全般 など。
最近は tableau, movabletype とかも触ったりしています。
雑な読書感想とかはこちら

カテゴリ: SQL

日付betweenの落とし穴 betweenは使いやすいものの、日付で取り扱う時には注意が必要です。 timestamp型で取り扱う場合で、 between {from} and {to} で、toの部分を日付にすると、その日の0時0分0秒までしか対象になりません。 例) select * from ( ... もっと読む
このエントリーをはてなブックマークに追加

to_single_byte でシングルバイト文字に変換 データ内に半角全角入り乱れてアルファベットや数字が入ってる時、 正規表現でやるよりそもそも一旦全部半角にした方が楽なんじゃ、と思って使ってみました。 select to_single_byte('あいうえおカキクケコABCDE、 ... もっと読む
このエントリーをはてなブックマークに追加

1行のインサートで複数行突っ込む方法(insert into ... values) はい、複数行のinsert文を書いていたのですが、 同じだったら1insertでいけるじゃん、ということで調べてみました。 元々はPostgreSqlでやろうと思っていたら、oracleでもmySQLでも使えるっぽい。 ... もっと読む
このエントリーをはてなブックマークに追加

oracleで数字と文字が混在しているときに、数字だけ使いたい(ORA-01722の解消) はい、データの持ち方が雑。 しかもデータのぶつけ先が数値(number型)のときに割と困ります。 to_numberしてぶつけているのですが、案の定数値にならない文字が入っていました。 ... もっと読む
このエントリーをはてなブックマークに追加

oracleで自分のロール回りを調査するSQL ●自分についているロールを確認する方法 select * from sys.user_role_privs; ●ロールについて一覧を出す select * from sys.role_sys_privs; ●ロールを付ける grant ... (下のサイトを参照) http://itref.fc2web ... もっと読む
このエントリーをはてなブックマークに追加

postgresqlでlistaggみたいなことを探してみた string_agg関数で行けるそうです。 postgresqlで、Ver9から実装されたようなので、凄い古いバージョン使っている場合には、 他の記載方法で対応してみてください(下の参考サイト) ●使い方 select string_agg(da ... もっと読む
このエントリーをはてなブックマークに追加

Error: ERROR: subquery in FROM must have an alias というエラーが出た PostgreSQLでは、副問い合わせを使った時に別名を付けないと 上記のエラーが出るそうです。 oracleの癖で適当にSQLを作っていたら怒られました。 ●エラー例 select * from (select 1 u ... もっと読む
このエントリーをはてなブックマークに追加

oracleでカンマ区切りの文字列を複数行に展開する(横持ち→縦持ち) 複数行を1セルに突っ込む、ListAgg関数があるので、 その逆はあるのかなと探してみたものの、どうも見当たらなかったので、再帰with句で頑張りました。 ひょっとしたらもっといい方法があるかも? ... もっと読む
このエントリーをはてなブックマークに追加

oracleで特殊文字の削除を、正規表現で簡単にやる(REGEXP_REPLACE) テキストデータを取り扱っていると、どうしても特殊文字が入ってくることがあるのですが、 文字だけ抜き出したい、という時に1つずつ置換するのは面倒(そして遅い) というこことで、正規表現 ... もっと読む
このエントリーをはてなブックマークに追加

SQLでexistsについて、1がいいのか、*がいいのか 前から盲目的に、 where exists (select 1 from table where ...) とやっていたのですが、ふと他の人のSQLを見ると where exists (select * from table where ...) となっていまして。 existsで不要なデ ... もっと読む
このエントリーをはてなブックマークに追加

↑このページのトップヘ