SQLで、カラム内の「英語表記」を「日本語表記」に一括変換したいと思います。
例)
English1→日本語1
English2→日本語2
SQL
1REPLACE( Var, 'English1', '日本語1')
現状、以下のようなネスト構造で記述しています。
SQL
1REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( Var, 'English1', '日本語1'), 'English2', '日本語2'), 'English3', '日本語3'), 'English4', '日本語4'), 'English5', '日本語5'), 'English6', '日本語6'), 'English7', '日本語7'), 'English8', '日本語8'), 'English9', '日本語9'), 'English10', '日本語10')
しかし、
English100→日本語100
のように追加・変更等が発生した場合、アナログで記述対応となってしまいます。
一般的に、上記のような場合、どのような処理をするものでしょうか?
今回の場合、ページ内の「検索パラメーター」部分を「English*」として抽出し、
上記の「REPLACE」を「ネスト化」させることで「日本語」に一括変換しております。
よろしくお願いします。
【追記】
今回、ネストされた(ARRAY:配列内の)文字を置換したいのですが、
単純にUNNESTした場合、レコードの重複が発生してしまいます。
フローとして、
1.SPLITでページパス内の「検索パラメーター部分」(複数ある場合も有り)を、
1レコード内にネスト化して格納。
2.その「検索パラメーター部分」を置換処理「英語」→「日本語」
3.さらに「日本語」で並び替え処理
4.ネスト内のすべてをARRAY_TO_STRINGで「,」区切りとして1レコードに格納
→結果、ネスト構造は解消(無くなる)
*上記で、「ネスト内の置換・並び替え処理」ができる方法は御座いますでしょうか?
すみませんが、よろしくお願いします。

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/12 01:38