2016-06-01から1ヶ月間の記事一覧

ORDER BY で CASE文を使って特定の行を上位に表示する

CentOS 6.x の PostgreSQL 8.4 と SQLite3 で動作確認。何らかのデータをソートして表示する際、特定の行だけは上位に表示したい事がある。例えば、国マスタをコード順でソートした時に、日本を一番上に表示し、他はコードでソートして表示したい、等々。 単…

SQLiteでIPソート

SQLite でIPアドレスを意図した順にソートする話。複雑なわりには、使いどころが微妙(´・ω・`) PostgreSQL では inet 型にCASTすると簡単なものの、SQlite には inet型は無い。0詰めしてソートしようとしても、PostgreSQL の「split_part」や「lpad」に相…

PostgreSQLでIPアドレスをソートする

PostgreSQL にて、IPアドレスをtext型に保存している場合、そのままソートしても意図したようにソートされない。 SELECT ip FROM nic ORDER BY ip; ip -------------- 192.168.1.1 192.168.10.1 192.168.2.1 192.168.20.1 192.168.3.1 inet 型にCAST するだ…

UserAgent情報からSQLでOSとブラウザを簡易的に判別/集計する

PostgreSQLにて、DBに保存されたUserAgent情報からSQLでOSとブラウザを簡易的に判別/集計する。 ロボットの事は考慮していない。 ChromeのUserAgentには、「Safari」という文字列が含まれるので、Safariより先に判定する。 「MSIE」は「IE 10」まで、「IE 11…