Skill Note

平凡なエンジニアがメモ代わりにプログラミング, インフラ, ネットワークを書き綴るブログ

Oracleで文字列を全角大文字に変換する(ひらがな・カタカナの小文字(捨て仮名)対応)

      2020/01/09

Oracleの文字列検索で全角半角、大文字小文字、ひらがなカタカナを区別しないであいまい検索する場合は比較対象の文字列形式を統一する必要があります。

文字列形式を変換する方法はネットを調べれば多くの記事が出てきますが、ひらがな・カタカナの小文字(ぁぃぅぇぉっゃゅょゎァィゥェォッャュョァィゥェォッャュョ)まで変換している記事が無かったのでここに記載します。

--全角カタカナに変換
SELECT TRANSLATE(UTL_I18N.TRANSLITERATE(UPPER(TO_MULTI_BYTE('ぁぃぅぇぉっゃゅょゎァィゥェォッャュョァィゥェォッャュョ')), 'kana_fwkatakana'), 'ァィゥェォッャュョ','アイウエオツヤユヨ') FROM DUAL;

--全角ひらがなに変換
SELECT TRANSLATE(UTL_I18N.TRANSLITERATE(UPPER(TO_MULTI_BYTE('ぁぃぅぇぉっゃゅょゎァィゥェォッャュョァィゥェォッャュョ')), 'kana_hiragana'), 'ぁぃぅぇぉっゃゅょゎ','あいうえおつやゆよわ') FROM DUAL;

Google AdSense PC

Google AdSense PC

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

  関連記事

sqlserer
[SQLServer]日付文字列 + 時刻文字列をDATETIME型に変換する方法

SQLServerで日付文字列 + 時刻文字列をDATETIME型に変換する方法 日付と時刻を別のカラムに格納している場合に日時データとして扱いたい場合は CO …

sqlserer
[SQL Server]除算時の注意点

SQLServerで除算結果が小数になる場合 たとえば、1100グラムをキロに換算する場合は「1100 / 1000」で計算すれば「1.1kg」と求められるが …

oracle
[Oracle]WEBサイトやWEB APIをOracleから呼び出す方法

WEBリクエストを送信してレスポンスを表示する OracleからWEBサイトやWEB APIなどのネットワークサービスを呼び出すには、UTL_HTTPパッケージ …

oracle
[Oracle]端数処理、丸めの方法

ORACLEで数値の端数処理、数値丸めをする 数値を四捨五入する場合は、ROUND関数 数値を切り捨てる場合は、TRUNC関数 各関数の第2引数の値で、小数部、 …

oracle
Oracle12cのPDBを自動起動にする方法

Oracle12cのプラガブル・データベース(PDB)は初期設定のままでは、毎回、手動で起動させる必要があります。 この記事ではOS起動時やOracle再起動時 …

oracle
[Oracle]データベースを再構築してOracle Expressのキャラクタセットを変更する

前回の記事でCSALTERを使用したキャラクタセットの変更方法を記載しましたが、サブセットのキャラクタセットからスーパセットへの変更のみ可能でした。 この記事で …

sqlserer
[SQLServer]形式指定で日付を取得する方法

SQLServerで形式を指定して日付を取得する 日付形式を指定するために、CONVERT関数、または、FORMAT関数を使用します。 CONVERT関数とFO …

oracle
[Oracle]データベーストリガーの作成方法

DMLトリガーを作成する データベーストリガーの中でももっとも一般的なDMLトリガーの作成方法と簡単な使用方法を記載していきます。 トリガーとは? トリガーとは …

sqlserer
[SQL Server]クロス集計の方法

PIVOTを使ってクロス集計する SQL ServerでExcelのピボットテーブルのようなクロス集計をするには、PIVOT関係演算子を使って集計することができ …

oracle
[Oracle]Oracle Clientのアンインストール方法

Oracle Clientをレジストリを含め完全に削除することがありましたので、この記事では削除手順を記載します。 削除手順ではレジストリを変更しますので十分注 …