タグ

sqlに関するpaselaのブックマーク (6)

  • LATERALを使ってみよう | Let's POSTGRES

    笠原 辰仁 記事は2015年のPostgreSQL Advent Calendarの 12/3 の記事です。PostgreSQL9.3でサポートされたLATERALについての解説と使いどころについて紹介します。 はじめに PostgreSQLは幅広くSQL標準(ではないものも含む)の句や構文をサポートしており、それが製品の特徴の一つでもあります。PostgreSQL8.4でサポートされたWindow関数やWITH句はその引き合いに出されることが多いです。 さて、PostgreSQL9.3からはLATERALという句がサポートされています。やや地味で使われることが少ないため、ご存知の方は少ないかもしれません。しかし、LATERAL句は、使いどころによっては非常に強力な武器になります。 注意 記事ではテーブル定義や実行計画等を記載している箇所がありますが、幅の表示上、見やすいように改行して

    pasela
    pasela 2016/06/07
  • SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?

    (PgDay2012発表資料) SQLにとって、なぜO/Rマッパーが重要かを説明した資料です。Read less

    SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?
  • とある診断員とSQLインジェクション

    なぜ自社でWebアプリケーション脆弱性診断を行うべきなのか。自動と手動の脆弱性診断のやり方、自社でやる意義、予算のかけ方などを紹介しています。 参考文献はこちら:Webセキュリティ担当者のための脆弱性診断スタートガイド 上野宣が教える情報漏えいを防ぐ技術 http://www.shoeisha.co.jp/book/detail/9784798145624 2017年2月6日

    とある診断員とSQLインジェクション
  • SQLでfloat型を使うということ - iakioの日記

    9章 ラウンディングエラー(丸め誤差)より floatを使う場合に精度に注意すべきという点については同意です。 SELECT * FROM Accounts WHERE hourly_rate = 59.95; このため、account_idが123の行hourly_rate列にサイド59.95を割り当てても、リテラル値59.95とは等価になりません。 Accounts.hourly_rateがfloat型のとき、MySQLとは異なりPostgreSQLでは、このクエリは59.95が格納された行を返却する。 これはMySQLでのfloat型が単精度であるのに対して、PostgreSQLのfloat型は倍精度だからだ。単精度浮動小数点型であるreal又はfloat4を使うとMySQLと同様マッチしなくなる。 この時点でもうfloatのことなんて考えたくなくなるところだ。 さてAccounts

    SQLでfloat型を使うということ - iakioの日記
    pasela
    pasela 2013/03/12
  • 「SQLインジェクション対策」でGoogle検索して上位15記事を検証した - ockeghem's blog

    このエントリでは、ネット上で「SQLインジェクション対策」でGoogle検索した結果の上位15エントリを検証した結果を報告します。 SQLインジェクション脆弱性の対策は、既に「安全なSQLの呼び出し方」にファイナルアンサー(後述)を示していますが、まだこの文書を知らない人が多いだろうことと、やや上級者向けの文書であることから、まだ十分に実践されてはいないと思います。 この状況で、セキュリティのことをよく知らない人がSQLインジェクション対策しようとした場合の行動を予測してみると、かなりの割合の人がGoogle等で検索して対処方法を調べると思われます。そこで、以下のURLでSQLインジェクション対策方法を検索した結果の上位のエントリを検証してみようと思い立ちました。 http://www.google.co.jp/search?q=SQLインジェクション対策 どこまで調べるかですが、以前NH

    「SQLインジェクション対策」でGoogle検索して上位15記事を検証した - ockeghem's blog
  • like演算子のエスケープ - teracc’s blog

    SQLのlike演算子では、ワイルドカードとして解釈させたくない「%」や「_」をエスケープする必要があります。 じゃあエスケープ文字として何を使えばいいんだろうか?という話になりますが、それに関して昔自分がやった失敗を思い出しました。 自分がやった失敗というのは、エスケープ文字として「%」を使おうとしたことです。SQL文で「'」を「'」でエスケープするのと同じようにすればよいだろうと考えた訳です。 例えば「20%以内」を含むデータを検索するSQL文を以下のように書きました。 ... WHERE foobar LIKE '%20%%以内%' ESCAPE '%';データベースの種類にもよりますが、これはこれで期待したとおりに動きます。 しかし、このSQL文を見てふと思ったのが、「%」を含むデータを検索したい場合にどうなるんだろうか?ということです。 ためしに書いてみると、こんな感じになるはず

    like演算子のエスケープ - teracc’s blog
    pasela
    pasela 2009/02/02
  • 1