X

Katsumi's Blog

SQL & Tools

事業所個別郵便番号県別集計Top 10. 郵便番号JSON その6

今日は追加ロードした個別郵便番号が何県に多いか出してみます。郵便局ホームページの説明を見ても番号だけで個別かどうか判定できるのか分らなかったため今回は以下の仕様を利用します。madefor/postal-code-api: Postal...

今日は追加ロードした個別郵便番号が何県に多いか出してみます。郵便局ホームページの説明を見ても番号だけで個別かどうか判定できるのか分らなかったため今回は以下の仕様を利用します。madefor/postal-code-api: Postal Code API大口事業所個別番号では英語の住所は空になっています以下の結果になりました。少し意外な結果かと思いますがいかがでしょう。。。SQL> l1 SELECT2 t.response.data[0].ja.prefecture,count(*)3 FROM API_RESPONSES t4 WHERE5 t.response.data[0].en.prefecture IS NULL6 GROUP BY t.response.data[0].ja.prefecture7 ORDER BY 2 DESC8* FETCH FIRST 10 ROWS ONLYSQL> /DATA COUNT(*)------------ --------東京都 4581愛知県 1543北海道 1239福岡県 836大阪府...

最強郵便番号を求めるSQL。郵便番号JSON、その4

今回はネットワーク経由でストリーミング的にOracle DBにロードした郵便番号データの中から最長のものを探してみます。最強(最凶?)は以下にあるように愛知県清須市とほぼ答えが出ているので今回はベスト3を出してみます。郵便番号や市区町村データを取り扱うときにはまったこと -...

今回はネットワーク経由でストリーミング的にOracle DBにロードした郵便番号データの中から最長のものを探してみます。最強(最凶?)は以下にあるように愛知県清須市とほぼ答えが出ているので今回はベスト3を出してみます。郵便番号や市区町村データを取り扱うときにはまったこと - Qiita合併で旧・西春日井郡春日町を編入した愛知県清須市にこういうすさまじいデータがあります 例)郵便番号 452-0961クエリーの1例がこれです。1位が"4520961"なので上記結果と一致していて66の町名に紐づいていることがわかります。SQL> l1 select count(t.pref),code2 from3 api_responses,4 json_table(response,5 '$' columns (6 code varchar path '$.code',7 nested path '$.data[*]'8 columns (9 pref varchar path '$.prefcode'10 )11 )12 ) t13 group by...

expdp(データパンプ)のバックグラウンドでの実行はCtrl-ZでなくCtrl-C

昨日はイベントへのご参加ありがとうございました。2017年3月度のOTNおすすめ技術者向けセミナー&イベント (Oracle Technology Network Japan Blog)先般、満を持してリリースされたOracle Database 12c Release...

昨日はイベントへのご参加ありがとうございました。2017年3月度のOTNおすすめ技術者向けセミナー&イベント (Oracle Technology Network Japan Blog)先般、満を持してリリースされたOracle Database 12c Release 2では、私は最後のデモ環境を作ったのですが、バックアップを取る暇がなかったのでイベントの後麻布十番で途中下車し expdp で悪戦苦闘していました。データ・ポンプ・ジョブ実行中に行われる処理対話方式コマンドSTOP_JOBを使用してジョブを停止するexpdp はコマンドラインツールで引数で全て必要なパラメータを渡すことができます。エクスポート対象が多い場合終了までに長時間かかります。普通のコマンドであればUN*Xのバックグラウンド実行機能を良く使うと思います。私も昨日expdpを '&' をつけずに起動してしまったのでCtrl-Zでサスペンドし、bg, disown コマンドで裏で流して帰宅しようとしましたが 'Ctrl-Z'...

sqlplus: EZCONNECT使用時の落とし穴

sqlplus のみEZ-CONNECTを使う際の落とし穴があります。パスワードを省略する場合EZCONNECT部分を " (ダブルクォート)で囲む必要があります。 例えばbash,kshなどのコマンドライン上で接続先指定する場合double quoteのみでなく...

sqlplus のみEZ-CONNECTを使う際の落とし穴があります。パスワードを省略する場合EZCONNECT部分を " (ダブルクォート)で囲む必要があります。 例えばbash,kshなどのコマンドライン上で接続先指定する場合double quoteのみでなく バックスラッシュによるエスケープも必要になります。oracle easy connect ORA-12504 | Louis & Cherry's 花花世界$ sqlplus sys@\"127.0.0.1:1521/pdb2_1\" as sysdbaSQL*Plus インタラクティブモードの "SQL>"プロンプト上でも CONNECT, COPYコマンドでも必要です。 例えばCOPYコマンドでEZ-CONNECT文字列を囲まない場合のエラーはこうなります。この場合の回避策はdouble-quoteのみでよくバックスラッシュは必要ありません。SQL> copy from hr@myserver/pdb1 create employees using select *...

MySQLのBIT_COUNT()のSQL版でビットを数えてみる

整数値や16進文字列の立っているビットを数えたい場面はまあまあ出てくると思います。Iconfinder: 画像データの重複チェックのアルゴリズム - ワザノバ...

整数値や16進文字列の立っているビットを数えたい場面はまあまあ出てくると思います。Iconfinder: 画像データの重複チェックのアルゴリズム - ワザノバ | wazanovaBIT_COUNTは整数でのみ有効だが、ハッシュは16進数なので、10進数に変換してから計算しているMySQLでは標準関数にあるようです。13.12 Bit Functions and OperatorsBIT_COUNT() Return the number of bits that are setOracle DBでの代替手段も簡単にGoogleで見つかるだろうと思いましたが意外に見つけるのに苦労しました。 以下は3年前に書かれていますが、...Ask Tom "BInary operator like AND, XOR"google 'hakmem'元ネタは2005年に書かれた以下だと思います。Vladimir's Diary: MIT HAKMEM Bit Count in Oracle SQLImplemented in PL/SQL hakmem is...