oracleのkeepのdense_rankってmaxだっけ?はい、ちょっと疑問に思ったので、簡単なSQLを書いてみました。select max(key) keep (dense_rank first order by dat) as max_key , min(key) keep (dense_rank first order by dat) as min_key , ...
もっと読む
カテゴリ: SQL
bool_or と bool_and があるpostgreSQL
bool_or と bool_and があるSQLpostgreSQLだけっぽいんですが、boolに関する便利な集約関数がありました。超簡単説明:bool_or : 内容が1つ以上trueならtruebool_and : 内容が全てtrueならtrueはい、簡単ですね。select bool_or(dat=1), bool_and(dat=1) from(select 1 as da ...
もっと読む
ORA-00933: SQL command not properly ended が出た
ORA-00933: SQL command not properly ended が出たいやもう、すごい簡単な話なんですが。もらったSQLを実行してみたらなんかエラーになりました。エラーコードはSQLコマンドが終了してないよ、っていうやつ。SQLを良くみると、1つだけシングルコーテーションが違う。upda ...
もっと読む
複数insertを1つに纏めるinsert all
複数insertを1つに纏めるinsert all使う機会が地味にありそうでないので、毎回忘れそうなのでメモ。insert allinto table_name values (1, 'data1')into table_name values (2, 'data2')into table_name values (3, 'data3')select * from dual;こんな感じで1つに纏まりま ...
もっと読む
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:]]
ということで、こいつを ...
もっと読む
postgresqlでoracleのminusみたいなものを探したら、あった(except)
postgresqlでoracleのminusみたいなものを探したら、あった(except)
はい、もうタイトルのままなんですが、
postgresqlでは呼び方が変わっていました。
正確にはoracleがminusで、
postgresqlとSQLserverがexceptという表記法でした。
使い方は両方一緒なので、 ...
もっと読む
微妙なカンマ区切りをSQLの正規表現で頑張る
微妙なカンマ区切りをSQLの正規表現で頑張る
はい、どちらかというと頭の悪い方向に進んでいる感が否めませんが、
取り急ぎ対応としては良く発生するものです。
こんなデータがあった時に、
,aa,,b,,,b,
これを複数カンマは1つに纏め、前後のカンマは無視す ...
もっと読む
DDL,DML,DCLについて纏めてみた
DDL,DML,DCLについて纏めてみた
いつももやっと覚えてるんですが、人に説明するときにDDLだっけ?DMLだっけ?ってなるので改めてメモ。
(なんか昔メモした気もするんですが、探したけど見つからなかったので。かぶってたらすいません)
DDL=Data Definition Langu ...
もっと読む