英語でOracle!

日本では知られていない情報を読んで、オラクルと英語の勉強もできちゃうメルマガ。
外資系企業のSE(プラチナ保有)が解説と一緒にご紹介します。英語ぷちクイズコーナーもあります。


Need to convert...

今日はOracle Technology Network(OTN)のDiscussion
ForumsよりSQLに関する投稿をご紹介します。

今回は少し趣向を変えて投稿された質問から解決する
ためのSQLをみなさんで考えていただければと思います。

投稿者は当初投稿していた質問と状況が変わったことを
追加で投稿しています。


※OTNは無償のユーザ登録を行うことで参照可能です。

■ OTNトップページ
http://www.oracle.com/technology/index.html
■ 引用ページ
http://forums.oracle.com/forums/thread.jspa?threadID=400352&tstart=90

_________________________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
記事本文
_________________________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
◆ Need to convert part of a string from lowercase 
   to uppercase 

Hello there,

The facts are changed. Everything what's next 
after AAA_ must be in uppercase, except the 
extension .pdf:

100000_AAA_20060630_en.pdf 
=> 100000_AAA_20060630_EN.pdf

or

abc_100000_AAA_20060630_en.pdf 
=> abc_100000_AAA_20060630_EN.pdf

In my update clause I have to search for string 
"AAA_".
From this point I have to transform the 
lowercase into uppercase, except the extension. 
How can I accomplish this?

Regards,
Ronny. 

■ OTNトップページ
http://www.oracle.com/technology/index.html
■ 引用ページ
http://forums.oracle.com/forums/thread.jspa?threadID=400352&tstart=90

_________________________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
英語の語順に近い解釈
_________________________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
◆ Need to convert
   変換が必要です。
   
   part of a string 
   文字列の一部

   from lowercase to uppercase 
   小文字から大文字へ
   
Hello there,
こんにちは

The facts are changed.
状況が変わりました。

Everything what's next 
全ては以下です。

after AAA_ must be in uppercase,
"AAA_"以降の文字は大文字で

except the extension .pdf:
拡張子".pdf"を除き。

100000_AAA_20060630_en.pdf 
=> 100000_AAA_20060630_EN.pdf

or

abc_100000_AAA_20060630_en.pdf 
=> abc_100000_AAA_20060630_EN.pdf

In my update clause
変更点は

I have to search for string "AAA_".
"AAA_"という文字列を探さなければならないこと

From this point 
その位置から

I have to transform
変換しなければなりません。

the lowercase into uppercase,
小文字を大文字に

except the extension. 
拡張子を除いて

How can I accomplish this?
どうしたら達成できますか?


■ OTNトップページ
http://www.oracle.com/technology/index.html
■ 引用ページ
http://forums.oracle.com/forums/thread.jspa?threadID=400352&tstart=90

_________________________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
解釈のポイント
_________________________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
◆ Need to convert part of a string 
   from lowercase to uppercase 

(※)convert = 変換
    lowercase = 小文字(abcd...)
    uppercase = 大文字(ABCD...)


The facts are changed.
条件が変わりました。

Everything what's next 
全ては以下です。

after AAA_ must be in uppercase,
"AAA_"以降の文字は大文字で

except the extension .pdf:

(※)extension = 拡張子


In my update clause

(※)clause = いくつかの単語のあつまり、節


I have to transform

(※)transform = convertの言い換え


How can I accomplish this?

(※)accomplish = 達成する


■ OTNトップページ
http://www.oracle.com/technology/index.html
■ 引用ページ
http://forums.oracle.com/forums/thread.jspa?threadID=400352&tstart=90

_________________________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
解説
_________________________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
当初は拡張子pdfを除いて、全て大文字に変換したいという
ことだったのですが、それなりに回答が入った後で
条件が変わったので少し混乱していますね。
最終的な回答としてはinstr関数を使用して、
AAA_の位置を探し、それ以降を一度全て大文字に変換した
後、replace関数でPDFをpdfに変換するという対応に
なったようです。最終的にどんなSQLになったかは
投稿されていませんが、だいたい以下のような
感じではないでしょうか。

create table test1 (col1 varchar(30));
insert into test1 values ('abc_100000_AAA_20060630_en.pdf');
insert into test1 values ('100000_AAA_20060630_en.pdf');

select * from test1;

update test1 set col1=substr(col1,1,instr(col1,'AAA_')-1)
||replace(upper(substr(col1,instr(col1,'AAA_'))),'PDF','pdf');

select * from test1;

■ OTNトップページ
http://www.oracle.com/technology/index.html
■ 引用ページ
http://forums.oracle.com/forums/thread.jspa?threadID=400352&tstart=90


_________________________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
アンケート(第2回)
_________________________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

今後の記事の方向性をより読者に合ったものにしていきたいので、

もしよろしければ以下のアンケートにお答えいただけると
うれしいです。(リンクをクリックするだけでOKです!)

☆どの記事が良かったですか。

◆#001 Project Rockdown
┗ http://clickenquete.com/a/a.php?M0002066Q0015626A194a6
◆#002 Virtual Index
┗ http://clickenquete.com/a/a.php?M0002066Q0015626A2819c
◆#003 Insert to Alert File
┗ http://clickenquete.com/a/a.php?M0002066Q0015626A3724c
◆#004 Tom's Blog
┗ http://clickenquete.com/a/a.php?M0002066Q0015626A4b930
◆#005 Build Your RAC 10g
┗ http://clickenquete.com/a/a.php?M0002066Q0015626A59aaa
◆#006 Convert string
┗ http://clickenquete.com/a/a.php?M0002066Q0015626A6c16e
◆他のネタ希望(できればコメントにいれてね)
┗ http://clickenquete.com/a/a.php?M0002066Q0015626A75883
○結果を見る
┗ http://clickenquete.com/a/r.php?Q0015626Caf95
○コメントボード
┗ http://clickenquete.com/a/cb.php?Q0015626P00C7fe0

締切:2006年07月19日18時00分
協力:クリックアンケート http://clickenquete.com/



第1回アンケートも7/15までは受け付けています。(^-^)
☆あなたのOracleに対する役割はなんですか?

◆DBA
┗ http://clickenquete.com/a/a.php?M0002066Q0015550A1bd5f
◆コンサルタント
┗ http://clickenquete.com/a/a.php?M0002066Q0015550A28a54
◆アプリケーション開発者
┗ http://clickenquete.com/a/a.php?M0002066Q0015550A36a3b
◆インフラ構築担当
┗ http://clickenquete.com/a/a.php?M0002066Q0015550A429ce
◆学習中
┗ http://clickenquete.com/a/a.php?M0002066Q0015550A577bb
◆Oracleとは無関係
┗ http://clickenquete.com/a/a.php?M0002066Q0015550A63058
◆その他
┗ http://clickenquete.com/a/a.php?M0002066Q0015550A7e1d9
○結果を見る
┗ http://clickenquete.com/a/r.php?Q0015550Cf507
○コメントボード
┗ http://clickenquete.com/a/cb.php?Q0015550P00Ce940

締切:2006年07月15日18時00分
協力:クリックアンケート http://clickenquete.com/

_________________________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
編集後記
_________________________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

今号からご購読いただいた皆様はじめまして。
本日も最後まで読んでいただきありがとうございます。

Forum形式はいかがでしたでしょうか。
このフォーラムはスレッドが登録される度にメール
で通知してもらえることもできるのですが、
正直言って仕事にならなくなります。極端な話
秒単位でメールがやってきます。(^-^;
裏を返せば、もし質問を投稿してもものすごい
勢いで回答してもらえるということです。
多少の文面は気にせず思い切って投稿してみるのも
いいと思います。

それではまた。


___________________________________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
おわりに
___________________________________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
記述誤りなどのご指摘、
記事に関する疑問点・質問・感想・ご意見・ご感想など
yakusa_oracle@yahoo.co.jpまでお願い致します。

簡単な自己紹介はこちら
http://pr2.cgiboy.com/S/3191274

バックナンバー兼ブログはこちら
http://imoment.web.fc2.com/

登録・解除はこちらから
http://www.mag2.com/m/0000200441.htm

 

omo inserted by FC2 system