Blog株式会社エージェンテックの公式ブログです。2021.10.29こんにちは、今井です。私の今年度の目標のひとつに「勉強したことを共有する」というものがあります。今回はそれについて、先日社内で共有したドキュメントを載せたいと思います。「家で何かをしろ」と強制されることはありませんが、この業種は「勉強し続けなければ面白い仕事にはありつけない」と思っているので、自主的に勉強するようにしています。マニアックな話なので、「そんなこと勉強しているんだな~」ぐらいに考えてもらいたいです。概要ドキュメントUPPER関数とはUPPER関数を使うときの注意点なんでこんな事が起こるの?ロケールのカテゴリーロケール設定の影響まとめ概要データベースを操作するためのSQLに関する勉強資料です。PostgreSQLでは、小文字を大文字に変えるときにUPPER関数という関数を利用して変換します。データベースの初期設定次第では全角小文字を全角大文字に変換できない、という内容です。知っていれば間違えませんが、普段意識しないデータベースの設定が影響するのでミスしやすい箇所です。データベースの初期設定は後から変更もできないので、すでに動いているデータベースでは別の手段での変換が必要となってきます。ドキュメントUPPER関数とはSQLServer,Oracle,PostgreSQLで使える英小文字から英大文字に変換できる関数(MySQLの場合はAccess関数)UPPER関数を使うときの注意点ロケールの設定が[C]の場合、全角小文字が全角大文字に変換されません。ロケールの設定が[C]の場合に全角大文字に変換する場合は、translate関数を使って無理やり変換する必要があります。ロケールの設定を日本語のja_JP.文字コードにする必要があります。なんでこんな事が起こるの?ロケールのサポートはアルファベット・並び換え・数字の書式など、文化的志向を配慮したアプリケーションを対象とするらしく標準設定の[C]では日本語を対象にしていないため、全角大文字変換ができないようです。以上のようなカテゴリーがあり、それぞれ設定を変えて使うことができます。今回のUPPER関数でいうとLC_CTYPEが日本語対応になっていれば正常に動くことになります。上2つはソート順にかかわるため、後から変更ができません。そのため、業務で全角大文字に変換する場合はtranslate関数を使う必要がありそうです。TOやPOSIX形式の正規表現といった)パターンマッチング演算子では、ロケールは大文字・小文字を区別せず、正規表現の文字クラスによる文字の区別に影響を及ぼします。一群のto_char関数LIKE節が付いたインデックスを使用する性能といった影響があるようです。ロケールのカテゴリーを意識していれば問題なさそうです。ちなみに、公式ではデフォルト設定の[C]を推奨しています。他を使うと実行速度が遅くなるようです。参考URLUCASE,UPPER,LCASE,LOWER関数の動作確認を行う環境https://db.just4fun.biz/?PostgreSQL/ロケール(lc_ctype)の設定とロケールライブラリの実装に依存します。https://oshiete.goo.ne.jp/qa/8057818.htmlロケールのサポートhttps://www.sraoss.co.jp/PostgreSQL/Manual/document/9.6/locale.htmlまとめこのような感じで、データベース、SQL周りを中心に勉強しています。いうブログも書いていこうかなと思うのでよろしくお願いします。先輩からひとこといよいよ門外漢の私には何のことやらちんぷんかんぷんな内容に入って参りました。休日といえばひねもす寝てばかりの私も、身が引き締まる思いで読みました。#012「会社周辺のおいしいご飯」エージェンテックがある東京・神田周辺のオススメごはんについて書いています。前回の中村さんに引き続き、もう1人の新入社員・今井さんにも、入社半年後の自己評価をしていただきました。今回は好きな言葉について。今なお猛威をふるっている新型コロナウィルスの感染対策について、日々行なっていることなど書きました。#030「研修の感想と入社して感じたこと」2023年度は2名の新入社員が仲間入りしました。そのうちの1人・金森さんに、3ヶ月の研修を終えた感想とエージェンテックの印象を書いてもらいました。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。date*※日本語が含まれない投稿は無視されますのでご注意ください。Vol.1」2022.04.012022.04.14メルマガ登録エージェンテックでは、DX推進のヒントや製品のお役立ち情報などのメールマガジンを毎週配信しています。ひとりごとこのブログについてエージェンテックHPホーム検索トップサイドバータイトルとURLをコピーしました。